diff options
author | Seema Khowala <seemaj@nvidia.com> | 2018-03-28 12:30:25 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-03-30 17:54:24 -0400 |
commit | 298880b961c14ca9d105f749b733a0b602773a2d (patch) | |
tree | 571687377bec815afc776e4051126b8894a842d1 /drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | |
parent | 493d0c8af3069745dd800ce9e093f8359a1fb851 (diff) |
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 <seemaj@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1683694
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/fifo_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/fifo_gv11b.c | 6 |
1 files changed, 6 insertions, 0 deletions
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, | |||
493 | if (ctx_stat == | 493 | if (ctx_stat == |
494 | fifo_engine_status_ctx_status_ctxsw_switch_v()) { | 494 | fifo_engine_status_ctx_status_ctxsw_switch_v()) { |
495 | /* Eng save hasn't started yet. Continue polling */ | 495 | /* Eng save hasn't started yet. Continue polling */ |
496 | if (stall_intr) { | ||
497 | /* if stall intr stop polling */ | ||
498 | *reset_eng_bitmask |= BIT(act_eng_id); | ||
499 | ret = 0; | ||
500 | break; | ||
501 | } | ||
496 | 502 | ||
497 | } else if (ctx_stat == | 503 | } else if (ctx_stat == |
498 | fifo_engine_status_ctx_status_valid_v() || | 504 | fifo_engine_status_ctx_status_valid_v() || |