summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/channel_gk20a.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index e6a39b20..92b4b3de 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -1573,6 +1573,21 @@ static void gk20a_channel_timeout_stop(struct channel_gk20a *ch)
1573 mutex_unlock(&ch->timeout.lock); 1573 mutex_unlock(&ch->timeout.lock);
1574} 1574}
1575 1575
1576void gk20a_channel_timeout_stop_all_channels(struct gk20a *g)
1577{
1578 u32 chid;
1579 struct fifo_gk20a *f = &g->fifo;
1580
1581 for (chid = 0; chid < f->num_channels; chid++) {
1582 struct channel_gk20a *ch = &f->channel[chid];
1583
1584 if (gk20a_channel_get(ch)) {
1585 gk20a_channel_timeout_stop(ch);
1586 gk20a_channel_put(ch);
1587 }
1588 }
1589}
1590
1576static void gk20a_channel_timeout_handler(struct work_struct *work) 1591static void gk20a_channel_timeout_handler(struct work_struct *work)
1577{ 1592{
1578 struct channel_gk20a_job *job; 1593 struct channel_gk20a_job *job;