From ea1a1942a63d57160565cab6638eacb85b8634ae Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Tue, 10 Jul 2018 11:32:02 -0700 Subject: gpu: nvgpu: gv11b: do not issue preempt timeout rc Since preempt timeout per pbdam/eng/runlist is set to fifo_eng_timeout_us converted to ms, there could be a scenario where preempt might time out. In case of preempt time out, do not issue recovery for si platform. ctxsw timeout will trigger recovery if needed. For non si platforms, issue preempt timeout rc if preempt times out. Bug 200426402 Change-Id: Ifd921280c0443ee9eda31157aaa03b481a529239 Signed-off-by: Seema Khowala Reviewed-on: https://git-master.nvidia.com/r/1775441 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c index f30f2ae1..fcf05306 100644 --- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c @@ -913,8 +913,13 @@ int gv11b_fifo_preempt_tsg(struct gk20a *g, u32 tsgid) nvgpu_mutex_release(&f->runlist_info[runlist_id].runlist_lock); - if (ret) - gk20a_fifo_preempt_timeout_rc(g, tsgid, true); + if (ret) { + if (nvgpu_platform_is_silicon(g)) + nvgpu_err(g, "preempt timed out for tsgid: %u, " + "ctxsw timeout will trigger recovery if needed", tsgid); + else + gk20a_fifo_preempt_timeout_rc(g, tsgid, true); + } return ret; } -- cgit v1.2.2