diff options
author | Sagar Kamble <skamble@nvidia.com> | 2021-05-03 13:47:16 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2021-05-04 17:40:45 -0400 |
commit | 0d088ad70cb43e54661163971095409c76a79f51 (patch) | |
tree | baca19bf15d1dbb7aadd2bbb2baf5876c65c12b1 /drivers/gpu/nvgpu/include | |
parent | 00c3d98acba40e0ee549a174f212850aa15646a5 (diff) |
gpu: nvgpu: wait for stalling interrupts to complete during TSG unbind preempt
Some of the engine stalling interrupts can block the context save off
the engine if not handled during fifo.preempt_tsg. They need to be
handled while polling for engine ctxsw status.
Bug 200711183
Bug 200726848
Change-Id: Ie45d76d9d1d8be3ffb842670843507f2d9aea6d0
Signed-off-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2521971
(cherry picked from commit I7418a9e0354013b81fbefd8c0cab5068404fc44e)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2523938
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Deepak Nibade <dnibade@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/gk20a.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h index 3b193dbe..d6d6e939 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/gk20a.h +++ b/drivers/gpu/nvgpu/include/nvgpu/gk20a.h | |||
@@ -719,7 +719,7 @@ struct gpu_ops { | |||
719 | struct ch_state *ch_state); | 719 | struct ch_state *ch_state); |
720 | u32 (*intr_0_error_mask)(struct gk20a *g); | 720 | u32 (*intr_0_error_mask)(struct gk20a *g); |
721 | int (*is_preempt_pending)(struct gk20a *g, u32 id, | 721 | int (*is_preempt_pending)(struct gk20a *g, u32 id, |
722 | unsigned int id_type); | 722 | unsigned int id_type, bool preempt_retries_left); |
723 | void (*init_pbdma_intr_descs)(struct fifo_gk20a *f); | 723 | void (*init_pbdma_intr_descs)(struct fifo_gk20a *f); |
724 | int (*reset_enable_hw)(struct gk20a *g); | 724 | int (*reset_enable_hw)(struct gk20a *g); |
725 | int (*setup_userd)(struct channel_gk20a *c); | 725 | int (*setup_userd)(struct channel_gk20a *c); |