除了誤報(bào)此錯(cuò)誤外,并未觀測(cè)到任何功能性問題,且仍可繼續(xù)使用 LSO 卸載功能。
這被分類為次要硬件問題,因?yàn)榭奢p松屏蔽并忽略誤報(bào)事件。
詳細(xì)描述
LSO 提供 TCP 分段 (TSO) 和 UDP 分片 (UFO) 硬件功能,廣泛用于提升 TCP/IP 或 UDP/IP 性能。
當(dāng)軟件通過緩沖區(qū)描述符 (BD) 查詢大型幀時(shí),DMA 引擎將基于軟件編程的最大分段大小 (MSS) 值(對(duì)應(yīng) TSO)或最大以太網(wǎng)幀大小(對(duì)應(yīng) UFO)來生成其自己的 BD。
啟用并激活 LSO 后,中斷狀態(tài)寄存器的位 6 會(huì)檢查這些生成的 BD 的有效性,如果不正確則會(huì)發(fā)出報(bào)告。
經(jīng)觀測(cè)發(fā)現(xiàn),當(dāng) DMA 進(jìn)入休眠狀態(tài)(由于沒有幀在排隊(duì))時(shí),中斷狀態(tài)寄存器的位 6 可能誤報(bào)錯(cuò)誤。
敬請(qǐng)放心忽略此誤報(bào)。
解決方案
影響:
很小??刹捎密浖兺ǚ椒ā?/p>
GEM IP 可能錯(cuò)誤觸發(fā)“amba error”中斷。
變通方法:
根據(jù) LSO 幀正在其中排隊(duì)的隊(duì)列,將每個(gè) BD 中發(fā)送的緩沖區(qū)最大長度限制為比分配給該隊(duì)列的 TX SRAM 空間少 56 個(gè)字節(jié)。
例如,如果 LSO 幀正在 Q0 中排隊(duì),并且已向 Q0 分配 16KB(作為硬件配置的一部分),那么請(qǐng)將每個(gè)排隊(duì)的 BD 中的長度字段限制為最大 16327 個(gè)字節(jié)(即,如果設(shè)置的長度字段在 16328 到 16383 范圍內(nèi),就可能發(fā)生此問題)。
賽靈思驅(qū)動(dòng)程序?qū)⒚總€(gè)排隊(duì)的 BD 中的長度字段限制為 16327 個(gè)字節(jié)。
1. 通過設(shè)置中斷掩碼寄存器的位 6 從而屏蔽中斷狀態(tài)寄存器的位 6,這樣即可屏蔽“amba_error”中斷。
2. 當(dāng)軟件內(nèi)核中已啟用 TSO 或 UFO 時(shí),忽略中斷例程內(nèi)的“amba_error”中斷。
對(duì)于上述第 2 和第 3 項(xiàng):雖然當(dāng) LSO 處于活動(dòng)狀態(tài)時(shí)此事件不出現(xiàn),但是用戶在任何正常操作環(huán)境內(nèi)都不應(yīng)目擊此錯(cuò)誤,其主要目的是在幀排隊(duì)等待發(fā)射時(shí)檢查全部軟件錯(cuò)誤。
因此,建議用戶首先在完全禁用 LSO 的情況下啟用此中斷并運(yùn)行測(cè)試,以確保不會(huì)通過位 6 報(bào)告全部軟件錯(cuò)誤,然后再將其屏蔽以配合 LSO 來使用。
位 6 所報(bào)告的此錯(cuò)誤描述如下:
"Transmit frame corruption due to AMBA (AHB/AXI) error.Set if an error occurs whilst midway through reading transmit frame from external system memory, including HRESP errors(AHB), RRESP or BRESP(AXI) errors and buffers exhausted mid frame (if the buffers run out during transmission of a frame then transmission stops, FCS shall be bad and tx_er asserted).Also set in DMA packet buffer mode if single frame is too large for configured packet buffer memory size."
此錯(cuò)誤表明發(fā)生了 AXI 響應(yīng)錯(cuò)誤、檢測(cè)到未使用的位中間幀 (used-bit-mid-frame) 或者軟件排隊(duì)的幀對(duì)于已配置的數(shù)據(jù)包緩沖區(qū)而言過大。
在中斷狀態(tài)寄存器的位 11 中同樣會(huì)指出上述第 1 項(xiàng)錯(cuò)誤,因此即使位 6 已屏蔽,錯(cuò)誤事件仍可見。
第 2 和第 3 項(xiàng)錯(cuò)誤與 LSO 幀不相關(guān),因?yàn)?DMA 內(nèi)部生成的 BD 的 MSS 更小。
這表明內(nèi)部(而非軟件提供的)BD 存在錯(cuò)誤,因此當(dāng)非 LSO 幀排隊(duì)時(shí),將不會(huì)出現(xiàn)錯(cuò)誤事件。
受影響的配置:
在硬件配置中包含“大型發(fā)送卸載”(通過 gem_pbuf_lso 配置選項(xiàng)),且在緩沖區(qū)描述符中啟用 LSO 功能。
解決方案:
這是第三方勘誤表。不對(duì)該問題進(jìn)行修復(fù)。
審核編輯 黃昊宇
-
控制器
+關(guān)注
關(guān)注
112文章
16461瀏覽量
179558 -
GEM
+關(guān)注
關(guān)注
0文章
8瀏覽量
6699 -
Versal
+關(guān)注
關(guān)注
1文章
163瀏覽量
7715 -
ACAP
+關(guān)注
關(guān)注
1文章
54瀏覽量
8201
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ads8568采集基本正常,但可能在某一次上電后,出現(xiàn)不工作的狀態(tài),為什么?
串口中斷是內(nèi)部中斷還是外部中斷,串口中斷是怎么觸發(fā)的
GPIO錯(cuò)誤排查與解決
VLAN 配置中的常見問題解決
CAN總線常見錯(cuò)誤碼及其解決方法
error與fault的有區(qū)別與聯(lián)系
usb主機(jī)控制器位于ahp總線上嗎
用于控制器局域網(wǎng)的可配置錯(cuò)誤發(fā)生器
![用于<b class='flag-5'>控制器</b>局域網(wǎng)的可<b class='flag-5'>配置</b><b class='flag-5'>錯(cuò)誤</b>發(fā)生<b class='flag-5'>器</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
可控硅觸發(fā)控制器工作原理是什么
是否有可能在軟件中重新配置XMC4800的兩個(gè)MII端口,使其用于E-BUS通信?
CYUSB2014-BZXC是否有可能在固件上更改邏輯插座和EP之間的對(duì)應(yīng)關(guān)系?
是否有可能在支持gdb的第三方集成開發(fā)環(huán)境中使用DAS配置調(diào)試?
一文讀懂CAN控制器錯(cuò)誤處理的原理
![一文讀懂CAN<b class='flag-5'>控制器</b><b class='flag-5'>錯(cuò)誤</b>處理的原理](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AMD Versal AI Edge自適應(yīng)計(jì)算加速平臺(tái)之Versal介紹(2)
![AMD <b class='flag-5'>Versal</b> AI Edge自適應(yīng)計(jì)算加速平臺(tái)之<b class='flag-5'>Versal</b>介紹(2)](https://file1.elecfans.com/web2/M00/C3/CA/wKgaomXoQkeAANK9AAAcrEUPitw728.jpg)
評(píng)論