summaryrefslogtreecommitdiffstats
path: root/kernel/gsp_rm_tu104.h
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-08 05:57:26 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-08 05:57:26 -0500
commit7c7d4c15a09556ff79c19c8d4890f25af43e531d (patch)
tree24ec78f50b7b611e9c93b7120d513ec00d2f4b40 /kernel/gsp_rm_tu104.h
parent5e6cd3cf5df1ab61208848866c30c29ce8907530 (diff)
downloadopen-iov-7c7d4c15a09556ff79c19c8d4890f25af43e531d.tar.gz
open-iov-7c7d4c15a09556ff79c19c8d4890f25af43e531d.zip
vgsp-disp: resolve the notifier via the announced display instance memory
The guest announces the display instance-memory block (8 KB context-DMA hash table + entries, vidmem PA 0x1fff0000 on r1627) via NV2080_CTRL_CMD_INTERNAL_DISPLAY_WRITE_INST_MEM (0x20800a49), but the engine ignored it and scanned its FB shadow blindly, never finding the hash entry - so SET_NOTIFIER_DMA handle 0x10013 resolved to pa=0 and UPDATE never wrote FINISHED (r1627: UPDATE armed=1 notifier=0x0/0). Handle 0xa49, record pa/size/address space per guest, read the block through the FB shadow (or guest RAM for sysmem), and parse the hash table from the announced location with bounded diagnostics.
Diffstat (limited to 'kernel/gsp_rm_tu104.h')
-rw-r--r--kernel/gsp_rm_tu104.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/gsp_rm_tu104.h b/kernel/gsp_rm_tu104.h
index 033014b..815da3b 100644
--- a/kernel/gsp_rm_tu104.h
+++ b/kernel/gsp_rm_tu104.h
@@ -736,6 +736,7 @@ static const struct tu104_internal_device_info tu104_internal_device_table[] = {
#define TU104_CTRL_INTERNAL_DISPLAY_GET_STATIC_INFO 0x20800a01
#define TU104_CTRL_INTERNAL_DISPLAY_GET_IP_VERSION 0x20800a4b
#define TU104_CTRL_INTERNAL_DISPLAY_CHANNEL_PUSHBUFFER 0x20800a58
+#define TU104_CTRL_INTERNAL_DISPLAY_WRITE_INST_MEM 0x20800a49
#define TU104_CTRL_I2C_TRANSACTION 0x402c0105
#define TU104_CTRL_CE_GET_FAULT_METHOD_BUFFER_SIZE 0x20802a08
#define TU104_CTRL_CE_GET_PHYSICAL_CAPS 0x20802a07