mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
31 lines
757 B
C
31 lines
757 B
C
/**
|
|
* @file mmu.h
|
|
* @brief Multimedia (mm) IPC wrapper.
|
|
* @author averne
|
|
* @copyright libnx Authors
|
|
*/
|
|
|
|
#pragma once
|
|
#include "../types.h"
|
|
#include "../sf/service.h"
|
|
|
|
typedef enum {
|
|
MmuModuleId_Ram = 2,
|
|
MmuModuleId_Nvenc = 5,
|
|
MmuModuleId_Nvdec = 6,
|
|
MmuModuleId_Nvjpg = 7,
|
|
} MmuModuleId;
|
|
|
|
typedef struct {
|
|
MmuModuleId module;
|
|
u32 id;
|
|
} MmuRequest;
|
|
|
|
Result mmuInitialize(void);
|
|
void mmuExit(void);
|
|
|
|
Result mmuRequestInitialize(MmuRequest *request, MmuModuleId module, u32 unk, bool autoclear); ///< unk is ignored by official software
|
|
Result mmuRequestFinalize(MmuRequest *request);
|
|
Result mmuRequestGet(MmuRequest *request, u32 *out_freq_hz);
|
|
Result mmuRequestSetAndWait(MmuRequest *request, u32 freq_hz, s32 timeout);
|