En raison d’un problème dans le pilote Linux pour synopsys® MAC Ethernet dans la version 4.1.22-ltsi du noyau Linux-socfpga, l’interface ethernet peut ralentir en cas d’augmentation du trafic dans le sous-système HPS.
Lorsque ce problème apparaît, les registres d’état DMA HPS EMAC affiche l’état suivant :
i_emac__dmagrp_status :
rs (État du processus reçu) : 0x5 : RUNCLOSE : exécution : descripteur de réception de clôture
Le statut des registres suivants peut également être présent
tu (Transmit Buffer Indisponible) : 0x1 : descripteur de transmission indisponible
ovf (Receive Overflow) : 0x1 : débordement de mémoire tampon de réception
Ce problème a été résolu pour le noyau linux-socfpga 4.1.33-ltsi disponible auprès de https://github.com/altera-opensource
Identifiant de validation : 9a8bc214cc13bb318f403b (« stmmac : fonction de réinitialisation entre dwmac100 et dwmac1000 »)
Identifiant de validation : b0db4ee2b475f0b7ac1e36 (« stmmac : retravailler le paramètre du bus DMA et introduire la nouvelle structure AXI de plateforme »)
Pour contourner ce problème dans les versions antérieures du noyau, modifiez les registres de contrôle DMA EMAC pour configurer les registres axi_bus_mode rd_osr_lmt et wr_osr_lmt sur 0xF. Ce paramètre permet un plus grand nombre de transactions AXI exceptionnelles sur l’interface EMAC DMA AXI Master.