1#ifndef __NVKM_FIFO_PRIV_H__ 2#define __NVKM_FIFO_PRIV_H__ 3#define nvkm_fifo(p) container_of((p), struct nvkm_fifo, engine) 4#include <engine/fifo.h> 5 6int nvkm_fifo_ctor(const struct nvkm_fifo_func *, struct nvkm_device *, 7 int index, int nr, struct nvkm_fifo *); 8void nvkm_fifo_uevent(struct nvkm_fifo *); 9 10struct nvkm_fifo_chan_oclass; 11struct nvkm_fifo_func { 12 void *(*dtor)(struct nvkm_fifo *); 13 int (*oneinit)(struct nvkm_fifo *); 14 void (*init)(struct nvkm_fifo *); 15 void (*fini)(struct nvkm_fifo *); 16 void (*intr)(struct nvkm_fifo *); 17 void (*pause)(struct nvkm_fifo *, unsigned long *); 18 void (*start)(struct nvkm_fifo *, unsigned long *); 19 void (*uevent_init)(struct nvkm_fifo *); 20 void (*uevent_fini)(struct nvkm_fifo *); 21 int (*class_get)(struct nvkm_fifo *, int index, 22 const struct nvkm_fifo_chan_oclass **); 23 const struct nvkm_fifo_chan_oclass *chan[]; 24}; 25 26void nv04_fifo_intr(struct nvkm_fifo *); 27void nv04_fifo_pause(struct nvkm_fifo *, unsigned long *); 28void nv04_fifo_start(struct nvkm_fifo *, unsigned long *); 29#endif 30