1bea8395cSBen Skeggs #ifndef __NVIF_PUSHC37B_H__
2bea8395cSBen Skeggs #define __NVIF_PUSHC37B_H__
3bea8395cSBen Skeggs #include <nvif/push.h>
4bea8395cSBen Skeggs 
5bea8395cSBen Skeggs #include <nvhw/class/clc37b.h>
6bea8395cSBen Skeggs 
7bea8395cSBen Skeggs #define PUSH_HDR(p,m,c) do {                                                    \
8bea8395cSBen Skeggs         PUSH_ASSERT(!((m) & ~DRF_SMASK(NVC37B_DMA_METHOD_OFFSET)), "mthd");     \
9bea8395cSBen Skeggs         PUSH_ASSERT(!((c) & ~DRF_MASK(NVC37B_DMA_METHOD_COUNT)), "size");       \
10bea8395cSBen Skeggs         PUSH_DATA__((p), NVDEF(NVC37B, DMA, OPCODE, METHOD) |                   \
11bea8395cSBen Skeggs 			 NVVAL(NVC37B, DMA, METHOD_COUNT, (c)) |                \
12bea8395cSBen Skeggs 			 NVVAL(NVC37B, DMA, METHOD_OFFSET, (m) >> 2),           \
13bea8395cSBen Skeggs 		    " mthd 0x%04x size %d - %s", (u32)(m), (u32)(c), __func__); \
14bea8395cSBen Skeggs } while(0)
15bea8395cSBen Skeggs 
16bea8395cSBen Skeggs #define PUSH_MTHD_HDR(p,s,m,c) PUSH_HDR(p,m,c)
17bea8395cSBen Skeggs #define PUSH_MTHD_INC 4:4
18bea8395cSBen Skeggs #endif
19