summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.h1
-rw-r--r--drivers/gpu/nvgpu/gv100/hal_gv100.c1
-rw-r--r--drivers/gpu/nvgpu/gv11b/fifo_gv11b.c4
-rw-r--r--drivers/gpu/nvgpu/gv11b/fifo_gv11b.h1
-rw-r--r--drivers/gpu/nvgpu/gv11b/hal_gv11b.c1
-rw-r--r--drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c1
6 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h
index 0a60d46a..65750a15 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.h
@@ -672,6 +672,7 @@ struct gpu_ops {
672 void (*runlist_hw_submit)(struct gk20a *g, u32 runlist_id, 672 void (*runlist_hw_submit)(struct gk20a *g, u32 runlist_id,
673 u32 count, u32 buffer_index); 673 u32 count, u32 buffer_index);
674 int (*runlist_wait_pending)(struct gk20a *g, u32 runlist_id); 674 int (*runlist_wait_pending)(struct gk20a *g, u32 runlist_id);
675 void (*ring_channel_doorbell)(struct channel_gk20a *c);
675 } fifo; 676 } fifo;
676 struct pmu_v { 677 struct pmu_v {
677 u32 (*get_pmu_cmdline_args_size)(struct nvgpu_pmu *pmu); 678 u32 (*get_pmu_cmdline_args_size)(struct nvgpu_pmu *pmu);
diff --git a/drivers/gpu/nvgpu/gv100/hal_gv100.c b/drivers/gpu/nvgpu/gv100/hal_gv100.c
index d1befa0e..d972d4a5 100644
--- a/drivers/gpu/nvgpu/gv100/hal_gv100.c
+++ b/drivers/gpu/nvgpu/gv100/hal_gv100.c
@@ -587,6 +587,7 @@ static const struct gpu_ops gv100_ops = {
587 .preempt_ch_tsg = gv11b_fifo_preempt_ch_tsg, 587 .preempt_ch_tsg = gv11b_fifo_preempt_ch_tsg,
588 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit, 588 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit,
589 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending, 589 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending,
590 .ring_channel_doorbell = gv11b_ring_channel_doorbell,
590 }, 591 },
591 .gr_ctx = { 592 .gr_ctx = {
592 .get_netlist_name = gr_gv100_get_netlist_name, 593 .get_netlist_name = gr_gv100_get_netlist_name,
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
index 51923636..9be29f45 100644
--- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
@@ -209,7 +209,7 @@ int channel_gv11b_setup_ramfc(struct channel_gk20a *c,
209} 209}
210 210
211 211
212static void gv11b_ring_channel_doorbell(struct channel_gk20a *c) 212void gv11b_ring_channel_doorbell(struct channel_gk20a *c)
213{ 213{
214 struct fifo_gk20a *f = &c->g->fifo; 214 struct fifo_gk20a *f = &c->g->fifo;
215 u32 hw_chid = f->channel_base + c->chid; 215 u32 hw_chid = f->channel_base + c->chid;
@@ -249,7 +249,7 @@ void gv11b_userd_gp_put(struct gk20a *g, struct channel_gk20a *c)
249 /* Commit everything to GPU. */ 249 /* Commit everything to GPU. */
250 nvgpu_mb(); 250 nvgpu_mb();
251 251
252 gv11b_ring_channel_doorbell(c); 252 g->ops.fifo.ring_channel_doorbell(c);
253} 253}
254 254
255void channel_gv11b_unbind(struct channel_gk20a *ch) 255void channel_gv11b_unbind(struct channel_gk20a *ch)
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
index 380db592..9157c300 100644
--- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
+++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.h
@@ -123,4 +123,5 @@ u32 gv11b_fifo_get_preempt_timeout(struct gk20a *g);
123void gv11b_fifo_init_ramfc_eng_method_buffer(struct gk20a *g, 123void gv11b_fifo_init_ramfc_eng_method_buffer(struct gk20a *g,
124 struct channel_gk20a *ch, struct nvgpu_mem *mem); 124 struct channel_gk20a *ch, struct nvgpu_mem *mem);
125void gv11b_userd_writeback_config(struct gk20a *g); 125void gv11b_userd_writeback_config(struct gk20a *g);
126void gv11b_ring_channel_doorbell(struct channel_gk20a *c);
126#endif 127#endif
diff --git a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
index ca530aba..47f832a6 100644
--- a/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/hal_gv11b.c
@@ -560,6 +560,7 @@ static const struct gpu_ops gv11b_ops = {
560 .handle_ctxsw_timeout = gv11b_fifo_handle_ctxsw_timeout, 560 .handle_ctxsw_timeout = gv11b_fifo_handle_ctxsw_timeout,
561 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit, 561 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit,
562 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending, 562 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending,
563 .ring_channel_doorbell = gv11b_ring_channel_doorbell,
563 }, 564 },
564 .gr_ctx = { 565 .gr_ctx = {
565 .get_netlist_name = gr_gv11b_get_netlist_name, 566 .get_netlist_name = gr_gv11b_get_netlist_name,
diff --git a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
index 4dc3a150..8128054e 100644
--- a/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
+++ b/drivers/gpu/nvgpu/vgpu/gv11b/vgpu_hal_gv11b.c
@@ -421,6 +421,7 @@ static const struct gpu_ops vgpu_gv11b_ops = {
421 .handle_ctxsw_timeout = gv11b_fifo_handle_ctxsw_timeout, 421 .handle_ctxsw_timeout = gv11b_fifo_handle_ctxsw_timeout,
422 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit, 422 .runlist_hw_submit = gk20a_fifo_runlist_hw_submit,
423 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending, 423 .runlist_wait_pending = gk20a_fifo_runlist_wait_pending,
424 .ring_channel_doorbell = gv11b_ring_channel_doorbell,
424 }, 425 },
425 .gr_ctx = { 426 .gr_ctx = {
426 .get_netlist_name = gr_gv11b_get_netlist_name, 427 .get_netlist_name = gr_gv11b_get_netlist_name,