summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/fifo_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/fifo_gv11b.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
index 9c64675f..75ff9525 100644
--- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c
@@ -808,13 +808,18 @@ int gv11b_fifo_enable_tsg(struct tsg_gk20a *tsg)
808{ 808{
809 struct gk20a *g = tsg->g; 809 struct gk20a *g = tsg->g;
810 struct channel_gk20a *ch; 810 struct channel_gk20a *ch;
811 struct channel_gk20a *last_ch = NULL;
811 812
812 nvgpu_rwsem_down_read(&tsg->ch_list_lock); 813 nvgpu_rwsem_down_read(&tsg->ch_list_lock);
813 nvgpu_list_for_each_entry(ch, &tsg->ch_list, channel_gk20a, ch_entry) { 814 nvgpu_list_for_each_entry(ch, &tsg->ch_list, channel_gk20a, ch_entry) {
814 g->ops.fifo.enable_channel(ch); 815 g->ops.fifo.enable_channel(ch);
816 last_ch = ch;
815 } 817 }
816 nvgpu_rwsem_up_read(&tsg->ch_list_lock); 818 nvgpu_rwsem_up_read(&tsg->ch_list_lock);
817 819
820 if (last_ch)
821 g->ops.fifo.ring_channel_doorbell(last_ch);
822
818 return 0; 823 return 0;
819} 824}
820 825