diff options
Diffstat (limited to 'src/core/hle/service/nvdrv/devices/nvhost_ctrl.h')
-rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_ctrl.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h index 2efed4862..6913c61ac 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h +++ b/src/core/hle/service/nvdrv/devices/nvhost_ctrl.h @@ -186,15 +186,24 @@ private: static_assert(sizeof(IocCtrlEventUnregisterBatchParams) == 8, "IocCtrlEventKill is incorrect size"); - NvResult NvOsGetConfigU32(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventWait(std::span<const u8> input, std::span<u8> output, bool is_allocation); - NvResult IocCtrlEventRegister(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventUnregister(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlEventUnregisterBatch(std::span<const u8> input, std::span<u8> output); - NvResult IocCtrlClearEventWait(std::span<const u8> input, std::span<u8> output); + NvResult NvOsGetConfigU32(IocGetConfigParams& params); + NvResult IocCtrlEventRegister(IocCtrlEventRegisterParams& params); + NvResult IocCtrlEventUnregister(IocCtrlEventUnregisterParams& params); + NvResult IocCtrlEventUnregisterBatch(IocCtrlEventUnregisterBatchParams& params); + NvResult IocCtrlClearEventWait(IocCtrlEventClearParams& params); NvResult FreeEvent(u32 slot); + // TODO: these are not the correct names + NvResult IocCtrlEventWaitNotAllocation(IocCtrlEventWaitParams& params) { + return this->IocCtrlEventWaitImpl(params, false); + } + NvResult IocCtrlEventWaitWithAllocation(IocCtrlEventWaitParams& params) { + return this->IocCtrlEventWaitImpl(params, true); + } + + NvResult IocCtrlEventWaitImpl(IocCtrlEventWaitParams& params, bool is_allocation); + EventInterface& events_interface; NvCore::Container& core; NvCore::SyncpointManager& syncpoint_manager; |