diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 4dbdb777..0e8c1884 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -6212,6 +6212,8 @@ int gk20a_gr_isr(struct gk20a *g) | |||
6212 | return 0; | 6212 | return 0; |
6213 | 6213 | ||
6214 | gr_engine_id = gk20a_fifo_get_gr_engine_id(g); | 6214 | gr_engine_id = gk20a_fifo_get_gr_engine_id(g); |
6215 | if (gr_engine_id != FIFO_INVAL_ENGINE_ID) | ||
6216 | gr_engine_id = BIT(gr_engine_id); | ||
6215 | 6217 | ||
6216 | grfifo_ctl = gk20a_readl(g, gr_gpfifo_ctl_r()); | 6218 | grfifo_ctl = gk20a_readl(g, gr_gpfifo_ctl_r()); |
6217 | grfifo_ctl &= ~gr_gpfifo_ctl_semaphore_access_f(1); | 6219 | grfifo_ctl &= ~gr_gpfifo_ctl_semaphore_access_f(1); |
@@ -6371,13 +6373,13 @@ int gk20a_gr_isr(struct gk20a *g) | |||
6371 | 6373 | ||
6372 | if (need_reset) { | 6374 | if (need_reset) { |
6373 | if (tsgid != NVGPU_INVALID_TSG_ID) | 6375 | if (tsgid != NVGPU_INVALID_TSG_ID) |
6374 | gk20a_fifo_recover(g, BIT(gr_engine_id), | 6376 | gk20a_fifo_recover(g, gr_engine_id, |
6375 | tsgid, true, true, true); | 6377 | tsgid, true, true, true); |
6376 | else if (ch) | 6378 | else if (ch) |
6377 | gk20a_fifo_recover(g, BIT(gr_engine_id), | 6379 | gk20a_fifo_recover(g, gr_engine_id, |
6378 | ch->hw_chid, false, true, true); | 6380 | ch->hw_chid, false, true, true); |
6379 | else | 6381 | else |
6380 | gk20a_fifo_recover(g, BIT(gr_engine_id), | 6382 | gk20a_fifo_recover(g, gr_engine_id, |
6381 | 0, false, false, true); | 6383 | 0, false, false, true); |
6382 | } | 6384 | } |
6383 | 6385 | ||