aboutsummaryrefslogtreecommitdiff
path: root/source/Utility/(public-mirror)
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-08-12 04:13:43 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-08-12 19:39:54 +0000
commit9f7633b932954162792e2caef4f6f0cd87e82f43 (patch)
tree7b2263f65365efe885228f826f5e8f12a840b76a /source/Utility/(public-mirror)
parentbbf93227fe9ee1f38b7db5477398c3564e5c84bc (diff)
igc: Report corrected internal ECC errorsHEADmain
I225 and I226 do not interrupt for corrected internal ECC errors. Instead, the DMA packet buffer and PCIe memories expose sticky status bits in PBECCSTS and PCIEECCSTS. Sample these bits with the regular hardware statistics update, preserve the PBECCSTS ECC enable state while clearing its RW1C indication, and expose separate counters for the DMA packet buffer, PCIe transmit-data memory, and PCIe retry buffer. These counters represent observed indications rather than an exact error count because multiple corrections between samples collapse into one sticky status bit. Hardware validation used an I225-IT (rev 3) and a debug kernel that wrote only the documented self-clearing injection bits. Each test armed the injector, exercised the owning RAM with traffic, and compared the corresponding counter before and after. Coverage: Memory Observed result DMA packet buffer corrected_dma advanced once PCIe transmit data corrected_pcie_tx_data advanced once PCIe retry buffer No PCIe replay source; not exercised The retry-buffer injector requires a real PCIe replay to read the corrupted entry. The test root port exposed AER and DPC reporting but no protocol error injector, so ordinary traffic could not cover that case. MFC after: 2 weeks Sponsored by: BBOX.io
Diffstat (limited to 'source/Utility/(public-mirror)')
0 files changed, 0 insertions, 0 deletions