|
|
|
@ -16,7 +16,9 @@ u32 nvhost_ctrl::ioctl(Ioctl command, const std::vector<u8>& input, std::vector< |
|
|
|
case IoctlCommand::IocGetConfigCommand: |
|
|
|
return NvOsGetConfigU32(input, output); |
|
|
|
case IoctlCommand::IocCtrlEventWaitCommand: |
|
|
|
return IocCtrlEventWait(input, output); |
|
|
|
return IocCtrlEventWait(input, output, false); |
|
|
|
case IoctlCommand::IocCtrlEventWaitAsyncCommand: |
|
|
|
return IocCtrlEventWait(input, output, true); |
|
|
|
} |
|
|
|
UNIMPLEMENTED_MSG("Unimplemented ioctl"); |
|
|
|
return 0; |
|
|
|
@ -45,11 +47,13 @@ u32 nvhost_ctrl::NvOsGetConfigU32(const std::vector<u8>& input, std::vector<u8>& |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
u32 nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector<u8>& output) { |
|
|
|
u32 nvhost_ctrl::IocCtrlEventWait(const std::vector<u8>& input, std::vector<u8>& output, |
|
|
|
bool is_async) { |
|
|
|
IocCtrlEventWaitParams params{}; |
|
|
|
std::memcpy(¶ms, input.data(), sizeof(params)); |
|
|
|
NGLOG_WARNING(Service_NVDRV, "(STUBBED) called, syncpt_id={} threshold={} timeout={}", |
|
|
|
params.syncpt_id, params.threshold, params.timeout); |
|
|
|
NGLOG_WARNING(Service_NVDRV, |
|
|
|
"(STUBBED) called, syncpt_id={}, threshold={}, timeout={}, is_async={}", |
|
|
|
params.syncpt_id, params.threshold, params.timeout, is_async); |
|
|
|
|
|
|
|
// TODO(Subv): Implement actual syncpt waiting.
|
|
|
|
params.value = 0; |
|
|
|
|