summaryrefslogtreecommitdiffstats
path: root/kernel/Kconfig
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 20:49:22 -0400
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-10-01 20:49:22 -0400
commitb3fb77cc3c201c9cde1a8b7e87cbfedd0a49194a (patch)
tree79e458f8c2b507e1a91ef3ed9b8b77b16f99e7d8 /kernel/Kconfig
parent949ee2e02ab541c2f1ad05118a4e87cf3dcbe378 (diff)
downloadopen-iov-b3fb77cc3c201c9cde1a8b7e87cbfedd0a49194a.tar.gz
open-iov-b3fb77cc3c201c9cde1a8b7e87cbfedd0a49194a.zip
gsp-phys: drain and decode the status queue on a failed CE submission
After a doorbell the GSP-RM status ring accumulated unconsumed records that nothing drained: the host readPtr stayed behind the writePtr and the engine's error text was never decoded. Add a bounded drain (max 64 records) using the existing validated ring walk: each record is logged with its function/status/seqNum, function 0x1006 (OS_ERROR_LOG) is decoded into exceptType/runlistId/chid/prevXid/errString, and function 0x1020 (GSP_POST_NOCAT_RECORD) into recType/errorCode/subsystem/ bugcheck/faultingEngine plus a bounded printable view of the diagnostic buffer. The host read pointer advances per consumed record (the normal consumer side), so the ring keeps free space. Stage 4's poll-timeout path drains before returning -ETIMEDOUT, and a new read-only debugfs file gsp-phys-status-drain triggers one bounded drain per read. No locks are taken and no device register is written.
Diffstat (limited to 'kernel/Kconfig')
0 files changed, 0 insertions, 0 deletions