mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-11-04 12:45:03 +01:00 
			
		
		
		
	Merge pull request #466 from mailwl/nv-timeout
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
This commit is contained in:
		
						commit
						87f21657f8
					
				@ -34,6 +34,8 @@ u32 nvhost_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u
 | 
			
		||||
        return AllocateObjectContext(input, output);
 | 
			
		||||
    case IoctlCommand::IocChannelGetWaitbaseCommand:
 | 
			
		||||
        return GetWaitbase(input, output);
 | 
			
		||||
    case IoctlCommand::IocChannelSetTimeoutCommand:
 | 
			
		||||
        return ChannelSetTimeout(input, output);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (command.group == NVGPU_IOCTL_MAGIC) {
 | 
			
		||||
@ -149,4 +151,11 @@ u32 nvhost_gpu::GetWaitbase(const std::vector<u8>& input, std::vector<u8>& outpu
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
u32 nvhost_gpu::ChannelSetTimeout(const std::vector<u8>& input, std::vector<u8>& output) {
 | 
			
		||||
    IoctlChannelSetTimeout params{};
 | 
			
		||||
    std::memcpy(¶ms, input.data(), sizeof(IoctlChannelSetTimeout));
 | 
			
		||||
    NGLOG_INFO(Service_NVDRV, "called, timeout=0x{:X}", params.timeout);
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Service::Nvidia::Devices
 | 
			
		||||
 | 
			
		||||
@ -34,6 +34,7 @@ private:
 | 
			
		||||
        IocAllocGPFIFOEx2Command = 0xC020481A,
 | 
			
		||||
        IocAllocObjCtxCommand = 0xC0104809,
 | 
			
		||||
        IocChannelGetWaitbaseCommand = 0xC0080003,
 | 
			
		||||
        IocChannelSetTimeoutCommand = 0x40044803,
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    enum class CtxObjects : u32_le {
 | 
			
		||||
@ -50,6 +51,11 @@ private:
 | 
			
		||||
    };
 | 
			
		||||
    static_assert(sizeof(IoctlSetNvmapFD) == 4, "IoctlSetNvmapFD is incorrect size");
 | 
			
		||||
 | 
			
		||||
    struct IoctlChannelSetTimeout {
 | 
			
		||||
        u32_le timeout;
 | 
			
		||||
    };
 | 
			
		||||
    static_assert(sizeof(IoctlChannelSetTimeout) == 4, "IoctlChannelSetTimeout is incorrect size");
 | 
			
		||||
 | 
			
		||||
    struct IoctlClientData {
 | 
			
		||||
        u64_le data;
 | 
			
		||||
    };
 | 
			
		||||
@ -141,6 +147,7 @@ private:
 | 
			
		||||
    u32 AllocateObjectContext(const std::vector<u8>& input, std::vector<u8>& output);
 | 
			
		||||
    u32 SubmitGPFIFO(const std::vector<u8>& input, std::vector<u8>& output);
 | 
			
		||||
    u32 GetWaitbase(const std::vector<u8>& input, std::vector<u8>& output);
 | 
			
		||||
    u32 ChannelSetTimeout(const std::vector<u8>& input, std::vector<u8>& output);
 | 
			
		||||
 | 
			
		||||
    std::shared_ptr<nvmap> nvmap_dev;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user