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