1*4882a593Smuzhiyun #ifndef __NVIF_PUSH507C_H__ 2*4882a593Smuzhiyun #define __NVIF_PUSH507C_H__ 3*4882a593Smuzhiyun #include <nvif/push.h> 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #include <nvhw/class/cl507c.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #define PUSH_HDR(p,m,c) do { \ 8*4882a593Smuzhiyun PUSH_ASSERT(!((m) & ~DRF_SMASK(NV507C_DMA_METHOD_OFFSET)), "mthd"); \ 9*4882a593Smuzhiyun PUSH_ASSERT(!((c) & ~DRF_MASK(NV507C_DMA_METHOD_COUNT)), "size"); \ 10*4882a593Smuzhiyun PUSH_DATA__((p), NVDEF(NV507C, DMA, OPCODE, METHOD) | \ 11*4882a593Smuzhiyun NVVAL(NV507C, DMA, METHOD_COUNT, (c)) | \ 12*4882a593Smuzhiyun NVVAL(NV507C, DMA, METHOD_OFFSET, (m) >> 2), \ 13*4882a593Smuzhiyun " mthd 0x%04x size %d - %s", (u32)(m), (u32)(c), __func__); \ 14*4882a593Smuzhiyun } while(0) 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #define PUSH_MTHD_HDR(p,s,m,c) PUSH_HDR(p,m,c) 17*4882a593Smuzhiyun #define PUSH_MTHD_INC 4:4 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun #define PUSH_JUMP(p,o) do { \ 20*4882a593Smuzhiyun PUSH_ASSERT(!((o) & ~DRF_SMASK(NV507C_DMA_JUMP_OFFSET)), "offset"); \ 21*4882a593Smuzhiyun PUSH_DATA__((p), NVDEF(NV507C, DMA, OPCODE, JUMP) | \ 22*4882a593Smuzhiyun NVVAL(NV507C, DMA, JUMP_OFFSET, (o) >> 2), \ 23*4882a593Smuzhiyun " jump 0x%08x - %s", (u32)(o), __func__); \ 24*4882a593Smuzhiyun } while(0) 25*4882a593Smuzhiyun #endif 26