diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-10 05:52:17 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-10 05:52:17 -0500 |
| commit | ebf3130f4a2ee733e696e65249d908668fe78d4b (patch) | |
| tree | c93e7b577c980a061eb567ec525a420ba8900c97 /wiki/open-iov.org/images/f | |
| parent | 90ab9baa309ae3c54d371546872c918c4c801920 (diff) | |
| download | open-iov-ebf3130f4a2ee733e696e65249d908668fe78d4b.tar.gz open-iov-ebf3130f4a2ee733e696e65249d908668fe78d4b.zip | |
vgsp: fix X DMA init + GR backend timeouts (CONT.399)
X-DMA-FIX (gsp_sema_service.c):
- svc_chan_userd: run the pristine-FB USERD scan when the r496b sweep ran
on a resolved-but-unvalidated ring (ring_pa!=0 but no entry decoded), not
only when the ring is untranslated. A stale pin/foreign VAS left the
channel without a USERD and X's 10 s pushbuffer NOP test timed out
('Failed to initialize DMA').
- svc_fb_userd_pristine_scan: claim-check with (off,off) so a second GR
channel is not considered foreign against the first adopter's ring_off=0.
- svc_chan_vas_candidate_promote: register the channel's own parked
COPY_SERVER_PDES candidate at the pump turn once its GPFIFO entry 0
content-validates, instead of waiting for the 1000 ms age-out.
- pump: fall back to svc_channel_owner_vas when hVASpace==0 (driver
'attach to the TSG address space') so the GR client ring resolves.
PAIR-SAFE (gsp_phys_booter.c): default sema_gl_pair_close_entry and
sema_gl_sph_bind_pair_safe ON. An unclosed BEGIN/END pair made the replayed
window raise ILLEGAL_METHOD_IN_BEGIN_END (Class Error 0x2018 EC 0x0d), the
FE parked before the release semaphore, and draws timed out (backend_timeout).
Diagnostics: CB-DIAG/CB-DIAG2 per-push fixed-CB capture summary.
Verified: X direct-rendering green on attempt 1; work_gr backend_timeout=0
(was 6), backend_ok=5-7.
Diffstat (limited to 'wiki/open-iov.org/images/f')
0 files changed, 0 insertions, 0 deletions
