summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar greggameplayer2018-06-04 22:12:02 +0200
committerGravatar bunnei2018-06-04 16:12:02 -0400
commit4fad069870dc0fc126eb723bd6fe8cefe71269ea (patch)
treeb5df5465392598083c841cb47c6fcfcf1d6032df /src
parentMerge pull request #502 from bunnei/more-am-stuff (diff)
downloadyuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.tar.gz
yuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.tar.xz
yuzu-4fad069870dc0fc126eb723bd6fe8cefe71269ea.zip
Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params (#511)
* Add some IoctlCommand with their params to nvhost_gpu * fix clang-format * delete trailing whitespace * fix some clang-format * delete one other trailing whitespace * last clang-format fix
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_gpu.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h
index 2ecf818f3..56b5ed60d 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_gpu.h
+++ b/src/core/hle/service/nvdrv/devices/nvhost_gpu.h
@@ -26,11 +26,19 @@ public:
26private: 26private:
27 enum class IoctlCommand : u32_le { 27 enum class IoctlCommand : u32_le {
28 IocSetNVMAPfdCommand = 0x40044801, 28 IocSetNVMAPfdCommand = 0x40044801,
29 IocAllocGPFIFOCommand = 0x40084805,
29 IocSetClientDataCommand = 0x40084714, 30 IocSetClientDataCommand = 0x40084714,
30 IocGetClientDataCommand = 0x80084715, 31 IocGetClientDataCommand = 0x80084715,
31 IocZCullBind = 0xc010480b, 32 IocZCullBind = 0xc010480b,
32 IocSetErrorNotifierCommand = 0xC018480C, 33 IocSetErrorNotifierCommand = 0xC018480C,
33 IocChannelSetPriorityCommand = 0x4004480D, 34 IocChannelSetPriorityCommand = 0x4004480D,
35 IocEnableCommand = 0x0000480E,
36 IocDisableCommand = 0x0000480F,
37 IocPreemptCommand = 0x00004810,
38 IocForceResetCommand = 0x00004811,
39 IocEventIdControlCommand = 0x40084812,
40 IocGetErrorNotificationCommand = 0xC0104817,
41 IocAllocGPFIFOExCommand = 0x40204818,
34 IocAllocGPFIFOEx2Command = 0xC020481A, 42 IocAllocGPFIFOEx2Command = 0xC020481A,
35 IocAllocObjCtxCommand = 0xC0104809, 43 IocAllocObjCtxCommand = 0xC0104809,
36 IocChannelGetWaitbaseCommand = 0xC0080003, 44 IocChannelGetWaitbaseCommand = 0xC0080003,
@@ -56,6 +64,12 @@ private:
56 }; 64 };
57 static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size"); 65 static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size");
58 66
67 struct IoctlAllocGPFIFO {
68 u32_le num_entries;
69 u32_le flags;
70 };
71 static_assert(sizeof(IoctlAllocGPFIFO) == 8, "IoctlAllocGPFIFO is incorrect size");
72
59 struct IoctlClientData { 73 struct IoctlClientData {
60 u64_le data; 74 u64_le data;
61 }; 75 };
@@ -76,12 +90,45 @@ private:
76 }; 90 };
77 static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size"); 91 static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size");
78 92
93 struct IoctlChannelSetPriority {
94 u32_le priority;
95 };
96 static_assert(sizeof(IoctlChannelSetPriority) == 4,
97 "IoctlChannelSetPriority is incorrect size");
98
99 struct IoctlEventIdControl {
100 u32_le cmd; // 0=disable, 1=enable, 2=clear
101 u32_le id;
102 };
103 static_assert(sizeof(IoctlEventIdControl) == 8, "IoctlEventIdControl is incorrect size");
104
105 struct IoctlGetErrorNotification {
106 u64_le timestamp;
107 u32_le info32;
108 u16_le info16;
109 u16_le status; // always 0xFFFF
110 };
111 static_assert(sizeof(IoctlGetErrorNotification) == 16,
112 "IoctlGetErrorNotification is incorrect size");
113
79 struct IoctlFence { 114 struct IoctlFence {
80 u32_le id; 115 u32_le id;
81 u32_le value; 116 u32_le value;
82 }; 117 };
83 static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size"); 118 static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size");
84 119
120 struct IoctlAllocGpfifoEx {
121 u32_le num_entries;
122 u32_le flags;
123 u32_le unk0;
124 u32_le unk1;
125 u32_le unk2;
126 u32_le unk3;
127 u32_le unk4;
128 u32_le unk5;
129 };
130 static_assert(sizeof(IoctlAllocGpfifoEx) == 32, "IoctlAllocGpfifoEx is incorrect size");
131
85 struct IoctlAllocGpfifoEx2 { 132 struct IoctlAllocGpfifoEx2 {
86 u32_le num_entries; // in 133 u32_le num_entries; // in
87 u32_le flags; // in 134 u32_le flags; // in