From 298880b961c14ca9d105f749b733a0b602773a2d Mon Sep 17 00:00:00 2001 From: Seema Khowala Date: Wed, 28 Mar 2018 09:30:25 -0700 Subject: gpu: nvgpu: gv11b: do not poll if stall intr is set Do not continue polling if engine save has not started yet and stall intr is set because if a stall intr is hit, preemption will anyways not get completed. Just set the reset_eng_bitmask of the engine for which ctx_status was being polled, As part of teardown corresponding engine will be reset. Bug 2069807 Change-Id: I9a506e0bca1d891ed5cd5d4953e292a40356f8ff Signed-off-by: Seema Khowala Reviewed-on: https://git-master.nvidia.com/r/1683694 GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/gpu/nvgpu/gv11b/fifo_gv11b.c') diff --git a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c index 4050579e..039ca941 100644 --- a/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fifo_gv11b.c @@ -493,6 +493,12 @@ static int gv11b_fifo_poll_eng_ctx_status(struct gk20a *g, u32 id, if (ctx_stat == fifo_engine_status_ctx_status_ctxsw_switch_v()) { /* Eng save hasn't started yet. Continue polling */ + if (stall_intr) { + /* if stall intr stop polling */ + *reset_eng_bitmask |= BIT(act_eng_id); + ret = 0; + break; + } } else if (ctx_stat == fifo_engine_status_ctx_status_valid_v() || -- cgit v1.2.2