diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | 5 |
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 | ||