在我的Arria 10 HPS系统上运行Linux时,为什么以太网挂起?-Altera-Intel社区-FPGA CPLD-ChipDebug

在我的Arria 10 HPS系统上运行Linux时,为什么以太网挂起?

由于linux-socfpga内核版本4.1.22-ltsi中的Synopsys®以太网MAC的Linux驱动程序存在问题,如果HPS子系统内的流程增加,以太网接口可能会停止。

出现此问题时,HPS EMAC DMA状态寄存器将显示以下状态:

i_emac_ <X> _dmagrp_status:

rs(已接收进程状态):0x5:RUNCLOSE:正在运行:关闭接收描述符

以下寄存器状态也可能存在

tu(发送缓冲区不可用):0x1:发送描述符不可用

ovf(接收溢出):0x1:接收缓冲区溢出

解决方法/修复

已经为https://github.com/altera-opensource提供的linux-socfpga 4.1.33-ltsi内核修复了这个问题

提交ID:9a8bc214cc13bb318f403b(“stmmac:dwmac100和dwmac1000之间的共享重置功能”)

提交ID:b0db4ee2b475f0b7ac1e36(“stmmac:返工DMA总线设置并引入新的平台AXI结构”)

要在早期内核版本中解决此问题,请编辑EMAC DMA控制寄存器以将axi_bus_mode rd_osr_lmt和wr_osr_lmt寄存器设置为0xF。此设置允许在EMAC DMA AXI主接口上进行更多未完成的AXI事务。

请登录后发表评论

    没有回复内容