diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/gsp_sema_service.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/kernel/gsp_sema_service.c b/kernel/gsp_sema_service.c index ba3690d..5cdca31 100644 --- a/kernel/gsp_sema_service.c +++ b/kernel/gsp_sema_service.c @@ -1725,7 +1725,7 @@ static void svc_run_ops(struct nv_vgpu_device *vgpu, struct svc_memset_op *ops, */ static void svc_decode_stream(struct nv_vgpu_device *vgpu, const u8 *buf, u32 len, u64 page_pa, bool allow_ops, - u32 ch_h, u32 ch_eng) + u32 ch_h, u32 ch_eng, u64 push_va) { struct svc_push_state st; struct svc_memset_op ops[SVC_MAX_MEMSETS]; @@ -2140,9 +2140,9 @@ static void svc_decode_stream(struct nv_vgpu_device *vgpu, const u8 *buf, if (tlen) memcpy(tail, buf + len - tlen, tlen); - pr_info("sema-push: h=0x%x eng=%u len=%u ops_runs=%u rel=0x%llx pay=%u have_rel=%u tail=%*phN\n", - ch_h, ch_eng, len, ops_runs, st.rel_va, - st.rel_payload, st.have_rel, tlen, + pr_info("sema-push: h=0x%x eng=%u va=0x%llx len=%u ops_runs=%u rel=0x%llx pay=%u have_rel=%u tail=%*phN\n", + ch_h, ch_eng, push_va, len, ops_runs, + st.rel_va, st.rel_payload, st.have_rel, tlen, tlen ? tail : NULL); } } @@ -2256,7 +2256,7 @@ static u32 svc_apply_page_data(struct nv_vgpu_device *vgpu, const u8 *buf, * fabricated "pushes" executing memsets); work execution is limited * to pushes the pump read through a trusted ring translation. */ - svc_decode_stream(vgpu, buf, SEMA_PAGE_SIZE, pa_page, false, 0, 0); + svc_decode_stream(vgpu, buf, SEMA_PAGE_SIZE, pa_page, false, 0, 0, 0); for (off = 0; off + 16 <= SEMA_PAGE_SIZE; off += 4) { u32 hdr, hi, lo, payload; @@ -3316,7 +3316,8 @@ static void svc_pump_channels(struct nv_vgpu_device *vgpu) len, 0, ch->engine_type != 0, ch->h_object, - ch->engine_type); + ch->engine_type, + va); ch->submissions++; svc.gpfifo_entries_done++; /* Advance expected payload for this channel's tracking semaphore. */ @@ -3349,7 +3350,8 @@ static void svc_pump_channels(struct nv_vgpu_device *vgpu) len, 0, false, ch->h_object, - ch->engine_type); + ch->engine_type, + va); ch->submissions++; svc.gpfifo_entries_done++; if (ch->engine_type && ch->expected_sem_payload) |
