diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 9 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.h | 2 |
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index cf239b55..68a30392 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -418,7 +418,7 @@ void gk20a_disable_channel_no_update(struct channel_gk20a *ch) | |||
418 | ccsr_channel_enable_clr_true_f()); | 418 | ccsr_channel_enable_clr_true_f()); |
419 | } | 419 | } |
420 | 420 | ||
421 | static int gk20a_wait_channel_idle(struct channel_gk20a *ch) | 421 | int gk20a_wait_channel_idle(struct channel_gk20a *ch) |
422 | { | 422 | { |
423 | bool channel_idle = false; | 423 | bool channel_idle = false; |
424 | unsigned long end_jiffies = jiffies + | 424 | unsigned long end_jiffies = jiffies + |
@@ -435,8 +435,11 @@ static int gk20a_wait_channel_idle(struct channel_gk20a *ch) | |||
435 | } while (time_before(jiffies, end_jiffies) | 435 | } while (time_before(jiffies, end_jiffies) |
436 | || !tegra_platform_is_silicon()); | 436 | || !tegra_platform_is_silicon()); |
437 | 437 | ||
438 | if (!channel_idle) | 438 | if (!channel_idle) { |
439 | gk20a_err(dev_from_gk20a(ch->g), "channel jobs not freed"); | 439 | gk20a_err(dev_from_gk20a(ch->g), "jobs not freed for channel %d\n", |
440 | ch->hw_chid); | ||
441 | return -EBUSY; | ||
442 | } | ||
440 | 443 | ||
441 | return 0; | 444 | return 0; |
442 | } | 445 | } |
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h index e37511cb..dd0197d6 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.h | |||
@@ -170,4 +170,6 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed); | |||
170 | 170 | ||
171 | void gk20a_init_channel(struct gpu_ops *gops); | 171 | void gk20a_init_channel(struct gpu_ops *gops); |
172 | 172 | ||
173 | int gk20a_wait_channel_idle(struct channel_gk20a *ch); | ||
174 | |||
173 | #endif /*__CHANNEL_GK20A_H__*/ | 175 | #endif /*__CHANNEL_GK20A_H__*/ |