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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
index de51e83e..03163575 100644
--- a/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/channel_gk20a.c
@@ -318,6 +318,7 @@ static void channel_gk20a_bind(struct channel_gk20a *ch_gk20a)
318void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a) 318void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a)
319{ 319{
320 struct gk20a *g = ch_gk20a->g; 320 struct gk20a *g = ch_gk20a->g;
321 struct gk20a_platform *platform = gk20a_get_platform(g->dev);
321 322
322 gk20a_dbg_fn(""); 323 gk20a_dbg_fn("");
323 324
@@ -333,7 +334,7 @@ void channel_gk20a_unbind(struct channel_gk20a *ch_gk20a)
333 * resource at this point 334 * resource at this point
334 * if not, then it will be destroyed at channel_free() 335 * if not, then it will be destroyed at channel_free()
335 */ 336 */
336 if (ch_gk20a->sync && ch_gk20a->sync->aggressive_destroy) { 337 if (ch_gk20a->sync && platform->sync_aggressive_destroy) {
337 ch_gk20a->sync->destroy(ch_gk20a->sync); 338 ch_gk20a->sync->destroy(ch_gk20a->sync);
338 ch_gk20a->sync = NULL; 339 ch_gk20a->sync = NULL;
339 } 340 }
@@ -1469,6 +1470,7 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed)
1469{ 1470{
1470 struct vm_gk20a *vm = c->vm; 1471 struct vm_gk20a *vm = c->vm;
1471 struct channel_gk20a_job *job, *n; 1472 struct channel_gk20a_job *job, *n;
1473 struct gk20a_platform *platform = gk20a_get_platform(c->g->dev);
1472 1474
1473 trace_gk20a_channel_update(c); 1475 trace_gk20a_channel_update(c);
1474 1476
@@ -1506,7 +1508,7 @@ void gk20a_channel_update(struct channel_gk20a *c, int nr_completed)
1506 * the sync resource 1508 * the sync resource
1507 */ 1509 */
1508 if (list_empty(&c->jobs)) { 1510 if (list_empty(&c->jobs)) {
1509 if (c->sync && c->sync->aggressive_destroy && 1511 if (c->sync && platform->sync_aggressive_destroy &&
1510 gk20a_fence_is_expired(c->last_submit.post_fence)) { 1512 gk20a_fence_is_expired(c->last_submit.post_fence)) {
1511 c->sync->destroy(c->sync); 1513 c->sync->destroy(c->sync);
1512 c->sync = NULL; 1514 c->sync = NULL;