除了誤報(bào)此錯(cuò)誤外,并未觀測(cè)到任何功能性問(wèn)題,且仍可繼續(xù)使用 LSO 卸載功能。
這被分類(lèi)為次要硬件問(wèn)題,因?yàn)榭奢p松屏蔽并忽略誤報(bào)事件。
詳細(xì)描述
LSO 提供 TCP 分段 (TSO) 和 UDP 分片 (UFO) 硬件功能,廣泛用于提升 TCP/IP 或 UDP/IP 性能。
當(dāng)軟件通過(guò)緩沖區(qū)描述符 (BD) 查詢大型幀時(shí),DMA 引擎將基于軟件編程的最大分段大小 (MSS) 值(對(duì)應(yīng) TSO)或最大以太網(wǎng)幀大小(對(duì)應(yīng) UFO)來(lái)生成其自己的 BD。
啟用并激活 LSO 后,中斷狀態(tài)寄存器的位 6 會(huì)檢查這些生成的 BD 的有效性,如果不正確則會(huì)發(fā)出報(bào)告。
經(jīng)觀測(cè)發(fā)現(xiàn),當(dāng) DMA 進(jìn)入休眠狀態(tài)(由于沒(méi)有幀在排隊(duì))時(shí),中斷狀態(tài)寄存器的位 6 可能誤報(bào)錯(cuò)誤。
敬請(qǐng)放心忽略此誤報(bào)。
解決方案
影響:
很小。可采用軟件變通方法。
GEM IP 可能錯(cuò)誤觸發(fā)“amba error”中斷。
變通方法:
根據(jù) LSO 幀正在其中排隊(duì)的隊(duì)列,將每個(gè) BD 中發(fā)送的緩沖區(qū)最大長(zhǎng)度限制為比分配給該隊(duì)列的 TX SRAM 空間少 56 個(gè)字節(jié)。
例如,如果 LSO 幀正在 Q0 中排隊(duì),并且已向 Q0 分配 16KB(作為硬件配置的一部分),那么請(qǐng)將每個(gè)排隊(duì)的 BD 中的長(zhǎng)度字段限制為最大 16327 個(gè)字節(jié)(即,如果設(shè)置的長(zhǎng)度字段在 16328 到 16383 范圍內(nèi),就可能發(fā)生此問(wèn)題)。
賽靈思驅(qū)動(dòng)程序?qū)⒚總€(gè)排隊(duì)的 BD 中的長(zhǎng)度字段限制為 16327 個(gè)字節(jié)。
1. 通過(guò)設(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ì)通過(guò)位 6 報(bào)告全部軟件錯(cuò)誤,然后再將其屏蔽以配合 LSO 來(lái)使用。
位 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ū)而言過(guò)大。
在中斷狀態(tài)寄存器的位 11 中同樣會(huì)指出上述第 1 項(xiàng)錯(cuò)誤,因此即使位 6 已屏蔽,錯(cuò)誤事件仍可見(jiàn)。
第 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ā)送卸載”(通過(guò) gem_pbuf_lso 配置選項(xiàng)),且在緩沖區(qū)描述符中啟用 LSO 功能。
解決方案:
這是第三方勘誤表。不對(duì)該問(wèn)題進(jìn)行修復(fù)。
審核編輯 黃昊宇
-
控制器
+關(guān)注
關(guān)注
114文章
17019瀏覽量
183261 -
GEM
+關(guān)注
關(guān)注
0文章
8瀏覽量
6759 -
Versal
+關(guān)注
關(guān)注
1文章
169瀏覽量
8043 -
ACAP
+關(guān)注
關(guān)注
1文章
54瀏覽量
8375
發(fā)布評(píng)論請(qǐng)先 登錄
有可能在 FX3 GPIF2 中創(chuàng)建兩個(gè)獨(dú)立的狀態(tài)機(jī)嗎?
如何驗(yàn)證CAN控制器的錯(cuò)誤響應(yīng)機(jī)制?

ads8568采集基本正常,但可能在某一次上電后,出現(xiàn)不工作的狀態(tài),為什么?
串口中斷是內(nèi)部中斷還是外部中斷,串口中斷是怎么觸發(fā)的
GPIO錯(cuò)誤排查與解決
易靈思FPGA PS配置模式--v7

VLAN 配置中的常見(jiàn)問(wèn)題解決
CAN總線常見(jiàn)錯(cuò)誤碼及其解決方法
error與fault的有區(qū)別與聯(lián)系
usb主機(jī)控制器位于ahp總線上嗎
用于控制器局域網(wǎng)的可配置錯(cuò)誤發(fā)生器

評(píng)論