ID articolo: 000088371 Tipo di contenuto: Risoluzione dei problemi Ultima recensione: 09/02/2022

Perché vedo l'HPS EMAC appeso con buffer RX pieno sul mio design SoC Cyclone® V?

Ambiente

Linux-socfpga

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrizione

A causa di un problema nel kernel Linux-socfpga versione 5.4 e successive, l'HPS EMAC potrebbe bloccarsi o bloccarsi in alcune circostanze.

Questo problema è dovuto a un'impostazione non corretta nell'albero dei dispositivi Linux Cyclone® V SoC

  • Il bit shared enable override deve essere abilitato sul controller di cache L2C-310
  • Il limite di transazioni in lettura e scrittura in sospeso deve essere impostato su 0xf sull'EMAC DMA
Risoluzione

Per risolvere questo problema, eseguire i seguenti passaggi:


1. Assicurarsi che il nodo dell'albero del dispositivo L2C-310 imposta il bit di attivazione override condiviso, modificando arch/arm/boot/dts/socfpga.dtsi

       L2: cache-controller@fffef000 {

compatibile = "arm,pl310-cache";

reg = <0xfffef000 0x1000>;

interrupt = <0 38 0x04>;

cache unificata;

livello cache = <2>;

arm,tag-latenza = <1 1 1>;

arm,data-latenza = <2 1 1>;

prefetch-data = <1>;

prefetch-instr = <1>;

braccio,sostituzione condivisa;   # Controlla che sia presente

arm,double-linefill = <1>;

arm,double-linefill-incr = <0>;

arm,double-linefill-wrap = <1>;

braccio,prefetch-drop = <0>;

arm,prefetch-offset = <7>;

};

2. Modificare i nodi Ethernet per aggiungere un riferimento per un snps,axi-config e aggiungere nodi per gli snp,axi-config in arch/arm/boot/dts/socfpga.dtsi

Esempio per GMAC0:

diff --git a/arch/arm/boot/dts/socfpga.dtsi b/arch/arm/boot/dts/socfpga.dtsi

indice e404220.. 100644 90a0560

--- a/arch/arm/boot/dts/socfpga.dtsi

+++ b/arch/arm/boot/dts/socfpga.dtsi

@@ -560,10 +560,16 @@

reset-names = "stmmaceth";

snps,multicast-filter-bins = <256>;

snps,perfect-filter-entries = <128>;

+ snps,axi-config = ;

profondità tx-fifo = <4096>;

profondità rx-fifo = <4096>;

status = "disabilitato";

};

+

+ stmmac_axi_setup_0: stmmac-axi-config_0 {

+ snps,wr_osr_lmt = <0xf>;

+ snps,rd_osr_lmt = <0xf>;

+    };

Questo problema è pianificato per essere risolto in una versione futura del kernel Linux-Socfpga.

Prodotti correlati

Questo articolo si applica a 3 prodotti

FPGA SoC Cyclone® V ST
FPGA SoC Cyclone® V SX
FPGA SoC Cyclone® V SE

Disclaimer

1

Tutti i post e l'utilizzo dei contenuti su questo sito sono soggetti ai Termini di utilizzo Intel.com.

Il contenuto di questa pagina è il risultato della combinazione tra la traduzione umana e quella automatica del contenuto originale in lingua inglese. Questo contenuto è fornito soltanto a titolo di informazione generale e non ha pretese di completezza o accuratezza. In presenza di contraddizioni tra la versione in lingua inglese di questa pagina e la sua traduzione, fa fede la versione inglese. Visualizza la versione in lingua inglese di questa pagina.