diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 11:05:24 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-07 11:05:24 -0400 |
| commit | ab6fed7ee35a114541373af90184acde9bd94b6b (patch) | |
| tree | e06e5ecd04e65f7344211a6ccc87409213e8a5ec /kernel/gsp_phys_booter.c | |
| parent | 2520bdb490398c1190d53fbd700ecba178fe8bb9 (diff) | |
| download | open-iov-ab6fed7ee35a114541373af90184acde9bd94b6b.tar.gz open-iov-ab6fed7ee35a114541373af90184acde9bd94b6b.zip | |
gr-regs/vgsp: sample PGRAPH_INTR + PGRAPH_INTR_EN at the dispatch window
The m75/m78/m79 launch windows show FECS_CTXSW_STATUS_FE_0.GR_INTR_REQ
(bit17) asserted through the SKED CWD ACTIVE state and a following CTXSW_REQ
(bit0) that results in the context save/unload. The real driver carries
GR_INTR only transiently during its context load and clears it before ACTIVE.
The PGRAPH interrupt latch (0x400100) names what the engine is signaling
(e.g. ILLEGAL_METHOD bit4, SEMAPHORE bit1, NOTIFY); sampled by the external
sampler and dumped in the launch post-mortem.
Diffstat (limited to 'kernel/gsp_phys_booter.c')
| -rw-r--r-- | kernel/gsp_phys_booter.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/gsp_phys_booter.c b/kernel/gsp_phys_booter.c index 241fe04..dbc6c43 100644 --- a/kernel/gsp_phys_booter.c +++ b/kernel/gsp_phys_booter.c @@ -16727,7 +16727,7 @@ gr_page_unmapped: ioread32(bar0 + 0x0040a508u), ioread32(bar0 + 0x0040a50cu)); if (bar0) - pr_info("vgsp-gr: SKED readback: HWW_ESR=0x%08x HWW_EN=0x%08x INFO1=0x%08x INFO2=0x%08x INFO3=0x%08x CWD_T0=0x%08x CWD_T1=0x%08x CWD_T2=0x%08x ACT=0x%08x FECS_CTX=0x%08x CWD_FS=0x%08x\n", + pr_info("vgsp-gr: SKED readback: HWW_ESR=0x%08x HWW_EN=0x%08x INFO1=0x%08x INFO2=0x%08x INFO3=0x%08x CWD_T0=0x%08x CWD_T1=0x%08x CWD_T2=0x%08x ACT=0x%08x FECS_CTX=0x%08x CWD_FS=0x%08x PGRAPH_INTR=0x%08x INTR_EN=0x%08x\n", ioread32(bar0 + 0x00407020u), ioread32(bar0 + 0x00407024u), ioread32(bar0 + 0x00407028u), @@ -16738,7 +16738,9 @@ gr_page_unmapped: ioread32(bar0 + 0x00407068u), ioread32(bar0 + 0x00407054u), ioread32(bar0 + 0x00409b00u), - ioread32(bar0 + 0x00405b00u)); + ioread32(bar0 + 0x00405b00u), + ioread32(bar0 + 0x00400100u), + ioread32(bar0 + 0x0040013cu)); if (bar0) pr_info("vgsp-gr: SKED watermark[0..15]=0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n", ioread32(bar0 + 0x004070a0u), |
