summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-06-07 16:17:22 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-13 12:14:02 -0400
commit4f0e19d44dee9039378bce7bd0cfb11f36fd8926 (patch)
tree3d2349256da68b3c6ba2b0f513fbc51741d4d949 /drivers/gpu/nvgpu/gv11b/gr_gv11b.c
parent263cb402293d2050d7d08212e89e4c1dcb1d4ccc (diff)
gpu: nvgpu: gv11b: issue tsg preempt only
Preempt type should be set to tsg and id should be set to tsgid in fifo_preempt_r(). Preempt type channel and id set to channel id does not initiate preemption. Bug 200289427 Bug 200292090 Bug 200289491 Change-Id: I2ae96c0b9ca8a88a8405f42775744f0879994887 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1497877 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index 503fb6f7..a703e72c 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -1593,12 +1593,15 @@ static int gr_gv11b_disable_channel_or_tsg(struct gk20a *g, struct channel_gk20a
1593 1593
1594 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, "CILP: restarted runlist"); 1594 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, "CILP: restarted runlist");
1595 1595
1596 if (gk20a_is_channel_marked_as_tsg(fault_ch)) 1596 if (gk20a_is_channel_marked_as_tsg(fault_ch)) {
1597 gk20a_fifo_issue_preempt(g, fault_ch->tsgid, true); 1597 gk20a_fifo_issue_preempt(g, fault_ch->tsgid, true);
1598 else 1598 nvgpu_log(g, gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr,
1599 gk20a_fifo_issue_preempt(g, fault_ch->hw_chid, false); 1599 "CILP: preempted the channel/tsg");
1600 1600 } else {
1601 gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr, "CILP: preempted the channel/tsg"); 1601 nvgpu_log(g, gpu_dbg_fn | gpu_dbg_gpu_dbg | gpu_dbg_intr,
1602 "CILP: tsgid is invalid, cannot preempt");
1603 WARN_ON(1); /* only TSG can be preempted */
1604 }
1602 1605
1603 return ret; 1606 return ret;
1604} 1607}