diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-21 15:02:04 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-10-21 15:02:04 -0400 |
| commit | e60bdd575c1ced490116a49035ac0483c0818860 (patch) | |
| tree | 92ea683fc76b217cec94932a053306f51df9b386 | |
| parent | 4c36a62913ce0a5b260fc488e84766318a49f34e (diff) | |
| download | open-iov-e60bdd575c1ced490116a49035ac0483c0818860.tar.gz open-iov-e60bdd575c1ced490116a49035ac0483c0818860.zip | |
sema: r420d bounded 2D-copy geometry witness (sema-op2d)
Every copy op logs dst/src/bytes/rows/dpitch/spitch beside the decoded
line_length/line_count/pitches, so the memset2d readback forensics can tell
'one row per push' from 'N rows in one op' and whether the pitch methods
arrived. Bounded by the existing opadd budget.
| -rw-r--r-- | kernel/gsp_sema_service.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index 3b7c5e8..931669c 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -10424,6 +10424,27 @@ static void svc_decode_stream(struct nv_vgpu_device *vgpu, const u8 *buf, lm->elem, lm->count, lm->aperture, lm->src_aperture, lm->phys, lm->src_phys); + /* + * r420d: 2D geometry of every copy op + * (the memset2d readback forensics - + * the driver decomposes cudaMemcpy2D + * into per-push ops whose LINE_COUNT/ + * PITCH decode must be visible to + * tell "one row per op" from "N rows + * in one op"). Bounded. + */ + if (lm->type == 1) + pr_info("sema-op2d: h=0x%x dst=0x%llx src=0x%llx bytes=%u rows=%u dpitch=%u spitch=%u line=%u lc=%u have_po=%u po=%u have_pi=%u pi=%u\n", + ch->h_object, lm->dst, + lm->src, lm->bytes, + lm->rows, lm->dpitch, + lm->spitch, + st.line_length, + st.line_count, + st.have_pitch_out, + st.pitch_out, + st.have_pitch_in, + st.pitch_in); } } |
