From 5f88598b9e7b2cfe0387733577ece138a7bc912b Mon Sep 17 00:00:00 2001 From: Sagar Kamble Date: Tue, 4 May 2021 12:58:34 +0530 Subject: gpu: nvgpu: use deferred_fault_engines for resetting engines during unbind Engine reset is skipped if channel is disassociated from the tsg. During unbind, tsg is disassociated before calling deferred engine reset. Hence any deferred resets don't work actually. Engines to be reset is already set in the variable deferred_fault_engines. Use it. Bug 200711183 Change-Id: I0c2bdcad1770e0ccd001c208a9ac0cf499a374e1 Signed-off-by: Sagar Kamble Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2521974 Tested-by: mobile promotions (cherry picked from commit 668bd75c1ac84d18f0aa0d0b22145d24405fdc8e) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2524252 Reviewed-by: mobile promotions --- drivers/gpu/nvgpu/gk20a/fifo_gk20a.c | 1 + 1 file changed, 1 insertion(+) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c index 049b8da2..aed130e4 100644 --- a/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/fifo_gk20a.c @@ -1602,6 +1602,7 @@ int gk20a_fifo_deferred_reset(struct gk20a *g, struct channel_gk20a *ch) engines = gk20a_fifo_engines_on_id(g, tsg->tsgid, true); } else { nvgpu_err(g, "chid: %d is not bound to tsg", ch->chid); + engines = g->fifo.deferred_fault_engines; } if (engines == 0U) { -- cgit v1.2.2