#ifndef __NVIF_PUSH_H__
#define __NVIF_PUSH_H__
#include <nvif/mem.h>
#include <nvif/printf.h>
#include <nvhw/drf.h>
struct nvif_push { … };
static inline __must_check int
PUSH_WAIT(struct nvif_push *push, u32 size)
{ … }
static inline int
PUSH_KICK(struct nvif_push *push)
{ … }
#ifdef CONFIG_NOUVEAU_DEBUG_PUSH
#define PUSH_PRINTF(p,f,a...) …
#define PUSH_ASSERT_ON(a,b) …
#else
#define PUSH_PRINTF …
#define PUSH_ASSERT_ON …
#endif
#define PUSH_ASSERT(a,b) …
#define PUSH_DATA__(p,d,f,a...) …
#define PUSH_DATA_(X,p,m,i0,i1,d,s,f,a...) …
#define PUSH_DATA(p,d) …
#define PUSH_RSVD(p,d) …
#ifdef CONFIG_NOUVEAU_DEBUG_PUSH
#define PUSH_DATAp(X,p,m,i,o,d,s,f,a...) …
#else
#define PUSH_DATAp …
#endif
#define PUSH_1(X,f,ds,n,o,p,s,mA,dA) …
#define PUSH_2(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_3(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_4(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_5(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_6(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_7(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_8(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_9(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_10(X,f,ds,n,o,p,s,mB,dB,mA,dA,a...) …
#define PUSH_1D(X,o,p,s,mA,dA) …
#define PUSH_2D(X,o,p,s,mA,dA,mB,dB) …
#define PUSH_3D(X,o,p,s,mA,dA,mB,dB,mC,dC) …
#define PUSH_4D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD) …
#define PUSH_5D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE) …
#define PUSH_6D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF) …
#define PUSH_7D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG) …
#define PUSH_8D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,dH) …
#define PUSH_9D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,dH,mI,dI) …
#define PUSH_10D(X,o,p,s,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,dH,mI,dI,mJ,dJ) …
#define PUSH_1P(X,o,p,s,mA,dp,ds) …
#define PUSH_2P(X,o,p,s,mA,dA,mB,dp,ds) …
#define PUSH_3P(X,o,p,s,mA,dA,mB,dB,mC,dp,ds) …
#define PUSH_(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,IMPL,...) …
#define PUSH(A...) …
#define PUSH_NVIM(p,c,m,d) …
#define PUSH_NVSQ(A...) …
#define PUSH_NV1I(A...) …
#define PUSH_NVNI(A...) …
#define PUSH_NV_1(X,o,p,c,mA,d...) …
#define PUSH_NV_2(X,o,p,c,mA,dA,mB,d...) …
#define PUSH_NV_3(X,o,p,c,mA,dA,mB,dB,mC,d...) …
#define PUSH_NV_4(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,d...) …
#define PUSH_NV_5(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,d...) …
#define PUSH_NV_6(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,d...) …
#define PUSH_NV_7(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,d...) …
#define PUSH_NV_8(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,d...) …
#define PUSH_NV_9(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,dH,mI,d...) …
#define PUSH_NV_10(X,o,p,c,mA,dA,mB,dB,mC,dC,mD,dD,mE,dE,mF,dF,mG,dG,mH,dH,mI,dI,mJ,d...) …
#define PUSH_NV_(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,IMPL,...) …
#define PUSH_NV(A...) …
#define PUSH_IMMD(A...) …
#define PUSH_MTHD(A...) …
#define PUSH_1INC(A...) …
#define PUSH_NINC(A...) …
#endif