mirror of
https://github.com/switchbrew/libnx.git
synced 2025-07-04 10:32:15 +02:00
Added dma clear
This commit is contained in:
parent
7ca21ae04b
commit
345bf56a82
@ -1 +1,2 @@
|
|||||||
void vnDmaClear32(Vn* vn, iova_t dst, u32 val, size_t size);
|
void vnDmaClear32(Vn* vn, iova_t dst, u32 val, size_t size);
|
||||||
|
void vnDmaClear64(Vn* vn, iova_t dst, u64 val, size_t size);
|
||||||
|
26
nx/source/nvidia/cmds/dma_clear.c
Normal file
26
nx/source/nvidia/cmds/dma_clear.c
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#include <switch.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
void vnDmaClear32(Vn* vn, iova_t dst, u32 val, size_t size) {
|
||||||
|
vnAddCmd(
|
||||||
|
vn,
|
||||||
|
NvIncr(4, NvRegDma_RemapConstant, val),
|
||||||
|
NvIncr(4, NvRegDma_RemapControl, 0x30000 | (NvRegDmaRemapValue_Constant0 * 0x1111)),
|
||||||
|
NvIncr(4, NvRegDma_SourceAddr, dst>>32, dst, dst>>32, dst),
|
||||||
|
NvIncr(4, NvRegDma_DestinationWidth, size/4, 1),
|
||||||
|
NvIncr(4, NvRegDma_Count, size),
|
||||||
|
NvIncr(4, NvRegDma_Launch, 0x586)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
void vnDmaClear64(Vn* vn, iova_t dst, u64 val, size_t size) {
|
||||||
|
vnAddCmd(
|
||||||
|
vn,
|
||||||
|
NvIncr(4, NvRegDma_RemapConstant, val, val>>32),
|
||||||
|
NvIncr(4, NvRegDma_RemapControl, 0x30000 | (NvRegDmaRemapValue_Constant0 * 0x1010) | (NvRegDmaRemapValue_Constant1 * 0x0101)),
|
||||||
|
NvIncr(4, NvRegDma_SourceAddr, dst>>32, dst, dst>>32, dst),
|
||||||
|
NvIncr(4, NvRegDma_DestinationWidth, size/4, 1),
|
||||||
|
NvIncr(4, NvRegDma_Count, size),
|
||||||
|
NvIncr(4, NvRegDma_Launch, 0x586)
|
||||||
|
);
|
||||||
|
}
|
@ -1,14 +0,0 @@
|
|||||||
#include <switch.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
void vnDmaClear32(Vn* vn, iova_t dst, u32 val, size_t size) {
|
|
||||||
vnAddCmd(
|
|
||||||
vn,
|
|
||||||
NvIncr(4, NvRegDma_RemapConstant, val),
|
|
||||||
NvIncr(4, NvRegDma_RemapControl, 0x30000 | (NvRegDmaRemapValue_Constant0 * 0x1111)),
|
|
||||||
NvIncr(4, NvRegDma_SourceAddr, dst>>32, dst, dst>>32, dst),
|
|
||||||
NvIncr(4, NvRegDma_DestinationWidth, size/4, 1),
|
|
||||||
NvIncr(4, NvRegDma_Count, size),
|
|
||||||
NvIncr(4, NvRegDma_Launch, 0x586)
|
|
||||||
);
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user