Devido a um problema no driver Linux para o Mac Ethernet Synopsys® no linux-socfpga kernel versão 4.1.22-ltsi, a interface ethernet pode parar se houver maior tráfego dentro do subsistema HPS.
Quando este problema aparecer, os registros de status do DMA DO HPS EMAC mostrarão o seguinte estado:
i_emac__dmagrp_status:
rs (Estado de processo recebido) : 0x5: RUNCLOSE: executando: encerramento do descritor de recepção
O seguinte status de registros também pode estar presente
tu (Buffer de transmissão indisponível): 0x1: Descritor de transmissão indisponível
ovf (Receber estouro): 0x1: Receber estouro de buffer
Este problema foi corrigido para o kernel linux-socfpga 4.1.33-ltsi disponível no https://github.com/altera-opensource
ID de compromisso: 9a8bc214cc13bb318f403b ("stmmac: compartilhar função de redefinição entre dwmac100 e dwmac1000")
ID do commit: b0db4ee2b475f0b7ac1e36 ("stmmac: retrabalho da configuração do barramento DMA e introduza a nova estrutura de AXI da plataforma")
Para resolver este problema em versões anteriores do Kernel, edite os registros de controle do DMA EMAC para definir axi_bus_mode rd_osr_lmt e wr_osr_lmt registros para 0xF. Esta configuração permite um maior número de transações de AXI pendentes na interface mestre emAC DMA AXI.