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 <skamble@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2521974
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
(cherry picked from commit 668bd75c1a)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2524252
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Sagar Kamble
2021-05-04 12:58:34 +05:30
committed by mobile promotions
parent bb8bf1c76c
commit 5f88598b9e

View File

@@ -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) {