summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index 2a871b5a..b94eade1 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -327,7 +327,6 @@ int gr_gk20a_wait_idle(struct gk20a *g, unsigned long duration_ms,
327 u32 expect_delay) 327 u32 expect_delay)
328{ 328{
329 u32 delay = expect_delay; 329 u32 delay = expect_delay;
330 bool gr_enabled;
331 bool ctxsw_active; 330 bool ctxsw_active;
332 bool gr_busy; 331 bool gr_busy;
333 u32 gr_engine_id; 332 u32 gr_engine_id;
@@ -346,9 +345,6 @@ int gr_gk20a_wait_idle(struct gk20a *g, unsigned long duration_ms,
346 only when gr_status is read */ 345 only when gr_status is read */
347 (void) gk20a_readl(g, gr_status_r()); 346 (void) gk20a_readl(g, gr_status_r());
348 347
349 gr_enabled = gk20a_readl(g, mc_enable_r()) &
350 mc_enable_pgraph_enabled_f();
351
352 engine_status = gk20a_readl(g, 348 engine_status = gk20a_readl(g,
353 fifo_engine_status_r(gr_engine_id)); 349 fifo_engine_status_r(gr_engine_id));
354 350
@@ -362,8 +358,7 @@ int gr_gk20a_wait_idle(struct gk20a *g, unsigned long duration_ms,
362 gr_busy = gk20a_readl(g, gr_engine_status_r()) & 358 gr_busy = gk20a_readl(g, gr_engine_status_r()) &
363 gr_engine_status_value_busy_f(); 359 gr_engine_status_value_busy_f();
364 360
365 if (!gr_enabled || ctx_status_invalid 361 if (ctx_status_invalid || (!gr_busy && !ctxsw_active)) {
366 || (!gr_busy && !ctxsw_active)) {
367 nvgpu_log_fn(g, "done"); 362 nvgpu_log_fn(g, "done");
368 return 0; 363 return 0;
369 } 364 }