mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: gk20a: export wait_channel_idle()
- Export gk20a_wait_channel_idle() function from channel_gk20a.h - also, return error -EBUSY from this function when channel is found to be not idle Bug 1487804 Change-Id: Ia7425e9b1332260ee9a53dca55ab07541f2755a9 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/412059 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
0d7533fb4f
commit
77a0b8eb13
@@ -418,7 +418,7 @@ void gk20a_disable_channel_no_update(struct channel_gk20a *ch)
|
|||||||
ccsr_channel_enable_clr_true_f());
|
ccsr_channel_enable_clr_true_f());
|
||||||
}
|
}
|
||||||
|
|
||||||
static int gk20a_wait_channel_idle(struct channel_gk20a *ch)
|
int gk20a_wait_channel_idle(struct channel_gk20a *ch)
|
||||||
{
|
{
|
||||||
bool channel_idle = false;
|
bool channel_idle = false;
|
||||||
unsigned long end_jiffies = jiffies +
|
unsigned long end_jiffies = jiffies +
|
||||||
@@ -435,8 +435,11 @@ static int gk20a_wait_channel_idle(struct channel_gk20a *ch)
|
|||||||
} while (time_before(jiffies, end_jiffies)
|
} while (time_before(jiffies, end_jiffies)
|
||||||
|| !tegra_platform_is_silicon());
|
|| !tegra_platform_is_silicon());
|
||||||
|
|
||||||
if (!channel_idle)
|
if (!channel_idle) {
|
||||||
gk20a_err(dev_from_gk20a(ch->g), "channel jobs not freed");
|
gk20a_err(dev_from_gk20a(ch->g), "jobs not freed for channel %d\n",
|
||||||
|
ch->hw_chid);
|
||||||
|
return -EBUSY;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -170,4 +170,6 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed);
|
|||||||
|
|
||||||
void gk20a_init_channel(struct gpu_ops *gops);
|
void gk20a_init_channel(struct gpu_ops *gops);
|
||||||
|
|
||||||
|
int gk20a_wait_channel_idle(struct channel_gk20a *ch);
|
||||||
|
|
||||||
#endif /*__CHANNEL_GK20A_H__*/
|
#endif /*__CHANNEL_GK20A_H__*/
|
||||||
|
|||||||
Reference in New Issue
Block a user