mirror of
https://github.com/yuzu-emu/yuzu.git
synced 2024-11-30 07:24:20 +01:00
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
This commit is contained in:
parent
b7c64f0ded
commit
4fad069870
@ -26,11 +26,19 @@ public:
|
|||||||
private:
|
private:
|
||||||
enum class IoctlCommand : u32_le {
|
enum class IoctlCommand : u32_le {
|
||||||
IocSetNVMAPfdCommand = 0x40044801,
|
IocSetNVMAPfdCommand = 0x40044801,
|
||||||
|
IocAllocGPFIFOCommand = 0x40084805,
|
||||||
IocSetClientDataCommand = 0x40084714,
|
IocSetClientDataCommand = 0x40084714,
|
||||||
IocGetClientDataCommand = 0x80084715,
|
IocGetClientDataCommand = 0x80084715,
|
||||||
IocZCullBind = 0xc010480b,
|
IocZCullBind = 0xc010480b,
|
||||||
IocSetErrorNotifierCommand = 0xC018480C,
|
IocSetErrorNotifierCommand = 0xC018480C,
|
||||||
IocChannelSetPriorityCommand = 0x4004480D,
|
IocChannelSetPriorityCommand = 0x4004480D,
|
||||||
|
IocEnableCommand = 0x0000480E,
|
||||||
|
IocDisableCommand = 0x0000480F,
|
||||||
|
IocPreemptCommand = 0x00004810,
|
||||||
|
IocForceResetCommand = 0x00004811,
|
||||||
|
IocEventIdControlCommand = 0x40084812,
|
||||||
|
IocGetErrorNotificationCommand = 0xC0104817,
|
||||||
|
IocAllocGPFIFOExCommand = 0x40204818,
|
||||||
IocAllocGPFIFOEx2Command = 0xC020481A,
|
IocAllocGPFIFOEx2Command = 0xC020481A,
|
||||||
IocAllocObjCtxCommand = 0xC0104809,
|
IocAllocObjCtxCommand = 0xC0104809,
|
||||||
IocChannelGetWaitbaseCommand = 0xC0080003,
|
IocChannelGetWaitbaseCommand = 0xC0080003,
|
||||||
@ -56,6 +64,12 @@ private:
|
|||||||
};
|
};
|
||||||
static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size");
|
static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size");
|
||||||
|
|
||||||
|
struct IoctlAllocGPFIFO {
|
||||||
|
u32_le num_entries;
|
||||||
|
u32_le flags;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IoctlAllocGPFIFO) == 8, "IoctlAllocGPFIFO is incorrect size");
|
||||||
|
|
||||||
struct IoctlClientData {
|
struct IoctlClientData {
|
||||||
u64_le data;
|
u64_le data;
|
||||||
};
|
};
|
||||||
@ -76,12 +90,45 @@ private:
|
|||||||
};
|
};
|
||||||
static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size");
|
static_assert(sizeof(IoctlSetErrorNotifier) == 24, "IoctlSetErrorNotifier is incorrect size");
|
||||||
|
|
||||||
|
struct IoctlChannelSetPriority {
|
||||||
|
u32_le priority;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IoctlChannelSetPriority) == 4,
|
||||||
|
"IoctlChannelSetPriority is incorrect size");
|
||||||
|
|
||||||
|
struct IoctlEventIdControl {
|
||||||
|
u32_le cmd; // 0=disable, 1=enable, 2=clear
|
||||||
|
u32_le id;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IoctlEventIdControl) == 8, "IoctlEventIdControl is incorrect size");
|
||||||
|
|
||||||
|
struct IoctlGetErrorNotification {
|
||||||
|
u64_le timestamp;
|
||||||
|
u32_le info32;
|
||||||
|
u16_le info16;
|
||||||
|
u16_le status; // always 0xFFFF
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IoctlGetErrorNotification) == 16,
|
||||||
|
"IoctlGetErrorNotification is incorrect size");
|
||||||
|
|
||||||
struct IoctlFence {
|
struct IoctlFence {
|
||||||
u32_le id;
|
u32_le id;
|
||||||
u32_le value;
|
u32_le value;
|
||||||
};
|
};
|
||||||
static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size");
|
static_assert(sizeof(IoctlFence) == 8, "IoctlFence is incorrect size");
|
||||||
|
|
||||||
|
struct IoctlAllocGpfifoEx {
|
||||||
|
u32_le num_entries;
|
||||||
|
u32_le flags;
|
||||||
|
u32_le unk0;
|
||||||
|
u32_le unk1;
|
||||||
|
u32_le unk2;
|
||||||
|
u32_le unk3;
|
||||||
|
u32_le unk4;
|
||||||
|
u32_le unk5;
|
||||||
|
};
|
||||||
|
static_assert(sizeof(IoctlAllocGpfifoEx) == 32, "IoctlAllocGpfifoEx is incorrect size");
|
||||||
|
|
||||||
struct IoctlAllocGpfifoEx2 {
|
struct IoctlAllocGpfifoEx2 {
|
||||||
u32_le num_entries; // in
|
u32_le num_entries; // in
|
||||||
u32_le flags; // in
|
u32_le flags; // in
|
||||||
|
Loading…
Reference in New Issue
Block a user