|
|
|
@ -18,39 +18,6 @@ public: |
|
|
|
explicit nvhost_nvdec_common(Core::System& system, std::shared_ptr<nvmap> nvmap_dev); |
|
|
|
~nvhost_nvdec_common() override; |
|
|
|
|
|
|
|
/** |
|
|
|
* Handles an ioctl1 request. |
|
|
|
* @param command The ioctl command id. |
|
|
|
* @param input A buffer containing the input data for the ioctl. |
|
|
|
* @param output A buffer where the output data will be written to. |
|
|
|
* @returns The result code of the ioctl. |
|
|
|
*/ |
|
|
|
virtual NvResult Ioctl1(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output, |
|
|
|
IoctlCtrl& ctrl) = 0; |
|
|
|
|
|
|
|
/** |
|
|
|
* Handles an ioctl2 request. |
|
|
|
* @param command The ioctl command id. |
|
|
|
* @param input A buffer containing the input data for the ioctl. |
|
|
|
* @param inline_input A buffer containing the input data for the ioctl which has been inlined. |
|
|
|
* @param output A buffer where the output data will be written to. |
|
|
|
* @returns The result code of the ioctl. |
|
|
|
*/ |
|
|
|
virtual NvResult Ioctl2(Ioctl command, const std::vector<u8>& input, |
|
|
|
const std::vector<u8>& inline_input, std::vector<u8>& output, |
|
|
|
IoctlCtrl& ctrl) = 0; |
|
|
|
|
|
|
|
/** |
|
|
|
* Handles an ioctl3 request. |
|
|
|
* @param command The ioctl command id. |
|
|
|
* @param input A buffer containing the input data for the ioctl. |
|
|
|
* @param output A buffer where the output data will be written to. |
|
|
|
* @param inline_output A buffer where the inlined output data will be written to. |
|
|
|
* @returns The result code of the ioctl. |
|
|
|
*/ |
|
|
|
virtual NvResult Ioctl3(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output, |
|
|
|
std::vector<u8>& inline_output, IoctlCtrl& ctrl) = 0; |
|
|
|
|
|
|
|
protected: |
|
|
|
class BufferMap final { |
|
|
|
public: |
|
|
|
|