summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/fifo_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/fifo_vgpu.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
index 9a8c319b..90e44e8c 100644
--- a/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/fifo_vgpu.c
@@ -634,7 +634,8 @@ static int vgpu_channel_set_timeslice(struct channel_gk20a *ch, u32 timeslice)
634 return err ? err : msg.ret; 634 return err ? err : msg.ret;
635} 635}
636 636
637static int vgpu_fifo_force_reset_ch(struct channel_gk20a *ch, bool verbose) 637static int vgpu_fifo_force_reset_ch(struct channel_gk20a *ch,
638 u32 err_code, bool verbose)
638{ 639{
639 struct tsg_gk20a *tsg = NULL; 640 struct tsg_gk20a *tsg = NULL;
640 struct channel_gk20a *ch_tsg = NULL; 641 struct channel_gk20a *ch_tsg = NULL;
@@ -653,16 +654,14 @@ static int vgpu_fifo_force_reset_ch(struct channel_gk20a *ch, bool verbose)
653 654
654 list_for_each_entry(ch_tsg, &tsg->ch_list, ch_entry) { 655 list_for_each_entry(ch_tsg, &tsg->ch_list, ch_entry) {
655 if (gk20a_channel_get(ch_tsg)) { 656 if (gk20a_channel_get(ch_tsg)) {
656 gk20a_set_error_notifier(ch_tsg, 657 gk20a_set_error_notifier(ch_tsg, err_code);
657 NVGPU_CHANNEL_RESETCHANNEL_VERIF_ERROR);
658 gk20a_channel_put(ch_tsg); 658 gk20a_channel_put(ch_tsg);
659 } 659 }
660 } 660 }
661 661
662 mutex_unlock(&tsg->ch_list_lock); 662 mutex_unlock(&tsg->ch_list_lock);
663 } else { 663 } else {
664 gk20a_set_error_notifier(ch, 664 gk20a_set_error_notifier(ch, err_code);
665 NVGPU_CHANNEL_RESETCHANNEL_VERIF_ERROR);
666 } 665 }
667 666
668 msg.cmd = TEGRA_VGPU_CMD_CHANNEL_FORCE_RESET; 667 msg.cmd = TEGRA_VGPU_CMD_CHANNEL_FORCE_RESET;