Lines Matching full:struct
4 #define nvkm_fifo(p) container_of((p), struct nvkm_fifo, engine)
7 struct nvkm_cctx;
8 struct nvkm_cgrp;
9 struct nvkm_chan;
10 struct nvkm_engn;
11 struct nvkm_memory;
12 struct nvkm_runl;
13 struct nvkm_runq;
14 struct nvkm_vctx;
16 struct nvkm_fifo_func {
17 void (*dtor)(struct nvkm_fifo *);
19 int (*chid_nr)(struct nvkm_fifo *);
20 int (*chid_ctor)(struct nvkm_fifo *, int nr);
21 int (*runq_nr)(struct nvkm_fifo *);
22 int (*runl_ctor)(struct nvkm_fifo *);
24 void (*init)(struct nvkm_fifo *);
25 void (*init_pbdmas)(struct nvkm_fifo *, u32 mask);
27 irqreturn_t (*intr)(struct nvkm_inth *);
28 void (*intr_mmu_fault_unit)(struct nvkm_fifo *, int unit);
29 void (*intr_ctxsw_timeout)(struct nvkm_fifo *, u32 engm);
31 const struct nvkm_fifo_func_mmu_fault {
32 void (*recover)(struct nvkm_fifo *, struct nvkm_fault_data *);
33 const struct nvkm_enum *access;
34 const struct nvkm_enum *engine;
35 const struct nvkm_enum *reason;
36 const struct nvkm_enum *hubclient;
37 const struct nvkm_enum *gpcclient;
40 void (*pause)(struct nvkm_fifo *, unsigned long *);
41 void (*start)(struct nvkm_fifo *, unsigned long *);
43 int (*nonstall_ctor)(struct nvkm_fifo *);
44 void (*nonstall_dtor)(struct nvkm_fifo *);
45 const struct nvkm_event_func *nonstall;
47 const struct nvkm_runl_func *runl;
48 const struct nvkm_runq_func *runq;
49 const struct nvkm_engn_func *engn;
50 const struct nvkm_engn_func *engn_sw;
51 const struct nvkm_engn_func *engn_ce;
53 struct nvkm_fifo_func_cgrp {
54 struct nvkm_sclass user;
55 const struct nvkm_cgrp_func *func;
59 struct nvkm_fifo_func_chan {
60 struct nvkm_sclass user;
61 const struct nvkm_chan_func *func;
65 int r535_fifo_new(const struct nvkm_fifo_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
66 struct nvkm_fifo **);
67 int nvkm_fifo_new_(const struct nvkm_fifo_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
68 struct nvkm_fifo **);
70 int nv04_fifo_chid_ctor(struct nvkm_fifo *, int);
71 int nv04_fifo_runl_ctor(struct nvkm_fifo *);
72 void nv04_fifo_init(struct nvkm_fifo *);
73 irqreturn_t nv04_fifo_intr(struct nvkm_inth *);
74 void nv04_fifo_pause(struct nvkm_fifo *, unsigned long *);
75 void nv04_fifo_start(struct nvkm_fifo *, unsigned long *);
76 extern const struct nvkm_runl_func nv04_runl;
77 extern const struct nvkm_engn_func nv04_engn;
78 extern const struct nvkm_cgrp_func nv04_cgrp;
79 extern const struct nvkm_chan_func_inst nv04_chan_inst;
80 extern const struct nvkm_chan_func_userd nv04_chan_userd;
81 void nv04_chan_ramfc_clear(struct nvkm_chan *);
82 void nv04_chan_start(struct nvkm_chan *);
83 void nv04_chan_stop(struct nvkm_chan *);
84 void nv04_eobj_ramht_del(struct nvkm_chan *, int);
86 int nv10_fifo_chid_nr(struct nvkm_fifo *);
88 int nv50_fifo_chid_nr(struct nvkm_fifo *);
89 int nv50_fifo_chid_ctor(struct nvkm_fifo *, int);
90 void nv50_fifo_init(struct nvkm_fifo *);
91 extern const struct nvkm_runl_func nv50_runl;
92 int nv50_runl_update(struct nvkm_runl *);
93 int nv50_runl_wait(struct nvkm_runl *);
94 extern const struct nvkm_engn_func nv50_engn_sw;
95 extern const struct nvkm_chan_func_inst nv50_chan_inst;
96 extern const struct nvkm_chan_func_userd nv50_chan_userd;
97 void nv50_chan_unbind(struct nvkm_chan *);
98 void nv50_chan_start(struct nvkm_chan *);
99 void nv50_chan_stop(struct nvkm_chan *);
100 void nv50_chan_preempt(struct nvkm_chan *);
101 int nv50_eobj_ramht_add(struct nvkm_engn *, struct nvkm_object *, struct nvkm_chan *);
102 void nv50_eobj_ramht_del(struct nvkm_chan *, int);
104 extern const struct nvkm_event_func g84_fifo_nonstall;
105 extern const struct nvkm_engn_func g84_engn;
106 extern const struct nvkm_chan_func g84_chan;
108 int gf100_fifo_chid_ctor(struct nvkm_fifo *, int);
109 int gf100_fifo_runq_nr(struct nvkm_fifo *);
110 bool gf100_fifo_intr_pbdma(struct nvkm_fifo *);
111 void gf100_fifo_intr_mmu_fault(struct nvkm_fifo *);
112 void gf100_fifo_intr_mmu_fault_unit(struct nvkm_fifo *, int);
113 void gf100_fifo_intr_sched(struct nvkm_fifo *);
114 void gf100_fifo_intr_ctxsw_timeout(struct nvkm_fifo *, u32);
115 void gf100_fifo_mmu_fault_recover(struct nvkm_fifo *, struct nvkm_fault_data *);
116 extern const struct nvkm_enum gf100_fifo_mmu_fault_access[];
117 extern const struct nvkm_event_func gf100_fifo_nonstall;
118 bool gf100_runl_preempt_pending(struct nvkm_runl *);
119 void gf100_runq_init(struct nvkm_runq *);
120 bool gf100_runq_intr(struct nvkm_runq *, struct nvkm_runl *);
121 void gf100_engn_mmu_fault_trigger(struct nvkm_engn *);
122 bool gf100_engn_mmu_fault_triggered(struct nvkm_engn *);
123 extern const struct nvkm_engn_func gf100_engn_sw;
124 extern const struct nvkm_chan_func_inst gf100_chan_inst;
125 void gf100_chan_userd_clear(struct nvkm_chan *);
126 void gf100_chan_preempt(struct nvkm_chan *);
128 int gk104_fifo_chid_nr(struct nvkm_fifo *);
129 int gk104_fifo_runl_ctor(struct nvkm_fifo *);
130 void gk104_fifo_init(struct nvkm_fifo *);
131 void gk104_fifo_init_pbdmas(struct nvkm_fifo *, u32);
132 irqreturn_t gk104_fifo_intr(struct nvkm_inth *);
133 void gk104_fifo_intr_runlist(struct nvkm_fifo *);
134 void gk104_fifo_intr_chsw(struct nvkm_fifo *);
135 void gk104_fifo_intr_bind(struct nvkm_fifo *);
136 extern const struct nvkm_fifo_func_mmu_fault gk104_fifo_mmu_fault;
137 extern const struct nvkm_enum gk104_fifo_mmu_fault_reason[];
138 extern const struct nvkm_enum gk104_fifo_mmu_fault_hubclient[];
139 extern const struct nvkm_enum gk104_fifo_mmu_fault_gpcclient[];
140 void gk104_runl_insert_chan(struct nvkm_chan *, struct nvkm_memory *, u64);
141 void gk104_runl_commit(struct nvkm_runl *, struct nvkm_memory *, u32, int);
142 bool gk104_runl_pending(struct nvkm_runl *);
143 void gk104_runl_block(struct nvkm_runl *, u32);
144 void gk104_runl_allow(struct nvkm_runl *, u32);
145 void gk104_runl_fault_clear(struct nvkm_runl *);
146 extern const struct nvkm_runq_func gk104_runq;
147 void gk104_runq_init(struct nvkm_runq *);
148 bool gk104_runq_intr(struct nvkm_runq *, struct nvkm_runl *);
149 extern const struct nvkm_bitfield gk104_runq_intr_0_names[];
150 bool gk104_runq_idle(struct nvkm_runq *);
151 extern const struct nvkm_engn_func gk104_engn;
152 bool gk104_engn_chsw(struct nvkm_engn *);
153 int gk104_engn_cxid(struct nvkm_engn *, bool *cgid);
154 int gk104_ectx_ctor(struct nvkm_engn *, struct nvkm_vctx *);
155 extern const struct nvkm_engn_func gk104_engn_ce;
156 extern const struct nvkm_chan_func_userd gk104_chan_userd;
157 extern const struct nvkm_chan_func_ramfc gk104_chan_ramfc;
158 void gk104_chan_bind(struct nvkm_chan *);
159 void gk104_chan_bind_inst(struct nvkm_chan *);
160 void gk104_chan_unbind(struct nvkm_chan *);
161 void gk104_chan_start(struct nvkm_chan *);
162 void gk104_chan_stop(struct nvkm_chan *);
164 int gk110_fifo_chid_ctor(struct nvkm_fifo *, int);
165 extern const struct nvkm_runl_func gk110_runl;
166 extern const struct nvkm_cgrp_func gk110_cgrp;
167 void gk110_runl_insert_cgrp(struct nvkm_cgrp *, struct nvkm_memory *, u64);
168 extern const struct nvkm_chan_func gk110_chan;
169 void gk110_chan_preempt(struct nvkm_chan *);
171 extern const struct nvkm_runq_func gk208_runq;
172 void gk208_runq_init(struct nvkm_runq *);
174 void gm107_fifo_intr_mmu_fault_unit(struct nvkm_fifo *, int);
175 extern const struct nvkm_fifo_func_mmu_fault gm107_fifo_mmu_fault;
176 extern const struct nvkm_runl_func gm107_runl;
177 extern const struct nvkm_chan_func gm107_chan;
179 int gm200_fifo_chid_nr(struct nvkm_fifo *);
180 int gm200_fifo_runq_nr(struct nvkm_fifo *);
182 extern const struct nvkm_enum gv100_fifo_mmu_fault_access[];
183 extern const struct nvkm_enum gv100_fifo_mmu_fault_reason[];
184 extern const struct nvkm_enum gv100_fifo_mmu_fault_hubclient[];
185 extern const struct nvkm_enum gv100_fifo_mmu_fault_gpcclient[];
186 void gv100_runl_insert_cgrp(struct nvkm_cgrp *, struct nvkm_memory *, u64);
187 void gv100_runl_insert_chan(struct nvkm_chan *, struct nvkm_memory *, u64);
188 void gv100_runl_preempt(struct nvkm_runl *);
189 extern const struct nvkm_runq_func gv100_runq;
190 extern const struct nvkm_engn_func gv100_engn;
191 void gv100_ectx_bind(struct nvkm_engn *, struct nvkm_cctx *, struct nvkm_chan *);
192 extern const struct nvkm_engn_func gv100_engn_ce;
193 int gv100_ectx_ce_ctor(struct nvkm_engn *, struct nvkm_vctx *);
194 void gv100_ectx_ce_bind(struct nvkm_engn *, struct nvkm_cctx *, struct nvkm_chan *);
195 extern const struct nvkm_chan_func_userd gv100_chan_userd;
196 extern const struct nvkm_chan_func_ramfc gv100_chan_ramfc;
198 void tu102_fifo_intr_ctxsw_timeout_info(struct nvkm_engn *, u32 info);
199 extern const struct nvkm_fifo_func_mmu_fault tu102_fifo_mmu_fault;
200 u32 tu102_chan_doorbell_handle(struct nvkm_chan *);
202 int ga100_fifo_runl_ctor(struct nvkm_fifo *);
203 int ga100_fifo_nonstall_ctor(struct nvkm_fifo *);
204 void ga100_fifo_nonstall_dtor(struct nvkm_fifo *);
205 extern const struct nvkm_event_func ga100_fifo_nonstall;
206 extern const struct nvkm_runl_func ga100_runl;
207 extern const struct nvkm_runq_func ga100_runq;
208 extern const struct nvkm_engn_func ga100_engn;
209 extern const struct nvkm_engn_func ga100_engn_ce;
210 extern const struct nvkm_cgrp_func ga100_cgrp;
211 extern const struct nvkm_chan_func ga100_chan;
213 u32 gb202_chan_doorbell_handle(struct nvkm_chan *);
215 int nvkm_uchan_new(struct nvkm_fifo *, struct nvkm_cgrp *, const struct nvkm_oclass *,
216 void *argv, u32 argc, struct nvkm_object **);
217 int nvkm_ucgrp_new(struct nvkm_fifo *, const struct nvkm_oclass *, void *argv, u32 argc,
218 struct nvkm_object **);