From c570ba99ed7aa5eb8bbff4f52c171b7cf9a787e5 Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Thu, 11 Apr 2019 13:43:01 -0700 Subject: [PATCH] gpu: nvgpu: move sched error bad tsg recovery Move sched error bad tsg recovery from fifo_intr_gv11b.c to common/rc/rc.c JIRA NVGPU-1314 Change-Id: Ic731a3162cad2fe184d764f0b3ad98acc1f382cb Signed-off-by: Seema Khowala Reviewed-on: https://git-master.nvidia.com/r/2095621 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-misra Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Thomas Fleury Reviewed-by: Alex Waterman Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/rc/rc.c | 7 +++++++ drivers/gpu/nvgpu/hal/fifo/fifo_intr_gv11b.c | 3 +-- drivers/gpu/nvgpu/include/nvgpu/rc.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/nvgpu/common/rc/rc.c b/drivers/gpu/nvgpu/common/rc/rc.c index 0dcb512a3..daeaaaae5 100644 --- a/drivers/gpu/nvgpu/common/rc/rc.c +++ b/drivers/gpu/nvgpu/common/rc/rc.c @@ -130,3 +130,10 @@ void nvgpu_rc_gr_fault(struct gk20a *g, struct tsg_gk20a *tsg, false, false, true, RC_TYPE_GR_FAULT); } } + +void nvgpu_rc_sched_error_bad_tsg(struct gk20a *g) +{ + /* id is unknown, preempt all runlists and do recovery */ + gk20a_fifo_recover(g, 0, INVAL_ID, false, false, false, + RC_TYPE_SCHED_ERR); +} diff --git a/drivers/gpu/nvgpu/hal/fifo/fifo_intr_gv11b.c b/drivers/gpu/nvgpu/hal/fifo/fifo_intr_gv11b.c index f4e830e34..ad97e4d09 100644 --- a/drivers/gpu/nvgpu/hal/fifo/fifo_intr_gv11b.c +++ b/drivers/gpu/nvgpu/hal/fifo/fifo_intr_gv11b.c @@ -140,8 +140,7 @@ bool gv11b_fifo_handle_sched_error(struct gk20a *g) if (sched_error == SCHED_ERROR_CODE_BAD_TSG) { /* id is unknown, preempt all runlists and do recovery */ - gk20a_fifo_recover(g, 0, 0, false, false, false, - RC_TYPE_SCHED_ERR); + nvgpu_rc_sched_error_bad_tsg(g); } return false; diff --git a/drivers/gpu/nvgpu/include/nvgpu/rc.h b/drivers/gpu/nvgpu/include/nvgpu/rc.h index 0d36f508b..fff3ecf14 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/rc.h +++ b/drivers/gpu/nvgpu/include/nvgpu/rc.h @@ -53,5 +53,6 @@ void nvgpu_rc_runlist_update(struct gk20a *g, u32 runlist_id); void nvgpu_rc_preempt_timeout(struct gk20a *g, struct tsg_gk20a *tsg); void nvgpu_rc_gr_fault(struct gk20a *g, struct tsg_gk20a *tsg, struct channel_gk20a *ch); +void nvgpu_rc_sched_error_bad_tsg(struct gk20a *g); #endif /* NVGPU_RC_H */