1 /*	$NetBSD: gf100.h,v 1.1.1.1 2018/08/27 01:34:56 riastradh Exp $	*/
2 
3 #ifndef __GF100_FIFO_H__
4 #define __GF100_FIFO_H__
5 #define gf100_fifo(p) container_of((p), struct gf100_fifo, base)
6 #include "priv.h"
7 
8 #include <subdev/mmu.h>
9 
10 struct gf100_fifo {
11 	struct nvkm_fifo base;
12 
13 	struct list_head chan;
14 
15 	struct work_struct fault;
16 	u64 mask;
17 
18 	struct {
19 		struct nvkm_memory *mem[2];
20 		int active;
21 		wait_queue_head_t wait;
22 	} runlist;
23 
24 	struct {
25 		struct nvkm_memory *mem;
26 		struct nvkm_vma bar;
27 	} user;
28 	int spoon_nr;
29 };
30 
31 void gf100_fifo_intr_engine(struct gf100_fifo *);
32 void gf100_fifo_runlist_update(struct gf100_fifo *);
33 #endif
34