summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_rm_emulation.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/gsp_rm_emulation.c')
-rw-r--r--kernel/gsp_rm_emulation.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/gsp_rm_emulation.c b/kernel/gsp_rm_emulation.c
index ca14744..4ea6839 100644
--- a/kernel/gsp_rm_emulation.c
+++ b/kernel/gsp_rm_emulation.c
@@ -2260,8 +2260,17 @@ static void gsp_rm_handle_display_heads(struct gsp_emu_context *ctx, u32 cmd,
u32 one = 1;
u32 sz = req_size ? req_size : 72;
u32 v;
+ u32 req_w0 = 0, req_w1 = 0, req_w2 = 0;
memset(out_params, 0, sz);
+ if (req_params) {
+ if (req_size >= 4)
+ memcpy(&req_w0, req_params, 4);
+ if (req_size >= 8)
+ memcpy(&req_w1, req_params + 4, 4);
+ if (req_size >= 12)
+ memcpy(&req_w2, req_params + 8, 4);
+ }
switch (cmd) {
case 0x730102: /* SYSTEM_GET_NUM_HEADS: {subDev, flags, numHeads} */
if (sz >= 12)
@@ -2371,8 +2380,8 @@ static void gsp_rm_handle_display_heads(struct gsp_emu_context *ctx, u32 cmd,
*out_params_size = sz;
*out_status = 0;
nv_vgpu_info(ctx->vgpu,
- "vgsp-rm: DISPLAY shim cmd=0x%x -> 1 head / 1 HDMI connector (size %u)",
- cmd, sz);
+ "vgsp-rm: DISPLAY shim cmd=0x%x -> 1 head / 1 HDMI connector (size %u req=%#x/%#x/%#x)",
+ cmd, sz, req_w0, req_w1, req_w2);
}
/*