diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/channel_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/channel_gk20a.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c index dafed8f8..1a5cf5c4 100644 --- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c | |||
@@ -1233,7 +1233,7 @@ static int gk20a_channel_submit_wfi(struct channel_gk20a *c) | |||
1233 | struct priv_cmd_entry *cmd = NULL; | 1233 | struct priv_cmd_entry *cmd = NULL; |
1234 | struct gk20a *g = c->g; | 1234 | struct gk20a *g = c->g; |
1235 | u32 free_count; | 1235 | u32 free_count; |
1236 | int err; | 1236 | int err = 0; |
1237 | 1237 | ||
1238 | if (c->has_timedout) | 1238 | if (c->has_timedout) |
1239 | return -ETIMEDOUT; | 1239 | return -ETIMEDOUT; |
@@ -1254,6 +1254,10 @@ static int gk20a_channel_submit_wfi(struct channel_gk20a *c) | |||
1254 | mutex_unlock(&c->submit_lock); | 1254 | mutex_unlock(&c->submit_lock); |
1255 | return -ENOMEM; | 1255 | return -ENOMEM; |
1256 | } | 1256 | } |
1257 | if (g->ops.fifo.resetup_ramfc) | ||
1258 | err = g->ops.fifo.resetup_ramfc(c); | ||
1259 | if (err) | ||
1260 | return err; | ||
1257 | } | 1261 | } |
1258 | 1262 | ||
1259 | gk20a_fence_put(c->last_submit.pre_fence); | 1263 | gk20a_fence_put(c->last_submit.pre_fence); |
@@ -1547,6 +1551,10 @@ int gk20a_submit_channel_gpfifo(struct channel_gk20a *c, | |||
1547 | mutex_unlock(&c->submit_lock); | 1551 | mutex_unlock(&c->submit_lock); |
1548 | goto clean_up; | 1552 | goto clean_up; |
1549 | } | 1553 | } |
1554 | if (g->ops.fifo.resetup_ramfc) | ||
1555 | err = g->ops.fifo.resetup_ramfc(c); | ||
1556 | if (err) | ||
1557 | return err; | ||
1550 | } | 1558 | } |
1551 | 1559 | ||
1552 | /* | 1560 | /* |