diff options
author | Dave Airlie <airlied@redhat.com> | 2016-09-02 15:55:15 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-09-02 15:55:15 +1000 |
commit | 603f2c9f45c6620afd65b60ec084c1ea7c36b2ec (patch) | |
tree | 5c22eed9f236ce5bd2f7f8ab32812198ec198f19 /drivers/gpu/drm/vc4/vc4_irq.c | |
parent | 5322942527156178874eec3d3108a4fae148d87d (diff) | |
parent | 552416c146fadc67cd9b53ef7adf88d3381c43a6 (diff) | |
download | linux-603f2c9f45c6620afd65b60ec084c1ea7c36b2ec.tar.gz linux-603f2c9f45c6620afd65b60ec084c1ea7c36b2ec.tar.bz2 linux-603f2c9f45c6620afd65b60ec084c1ea7c36b2ec.zip |
Merge tag 'drm-vc4-fixes-2016-08-29' of https://github.com/anholt/linux into drm-fixes
This pull request brings in fixes for VC4 3D in 4.8, most of which are
covered by testcases.
* tag 'drm-vc4-fixes-2016-08-29' of https://github.com/anholt/linux:
drm/vc4: Fix oops when userspace hands in a bad BO.
drm/vc4: Fix overflow mem unreferencing when the binner runs dry.
drm/vc4: Free hang state before destroying BO cache.
drm/vc4: Fix handling of a pm_runtime_get_sync() success case.
drm/vc4: Use drm_malloc_ab to fix large rendering jobs.
drm/vc4: Use drm_free_large() on handles to match its allocation.
Diffstat (limited to 'drivers/gpu/drm/vc4/vc4_irq.c')
-rw-r--r-- | drivers/gpu/drm/vc4/vc4_irq.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_irq.c b/drivers/gpu/drm/vc4/vc4_irq.c index b0104a346a74..094bc6a475c1 100644 --- a/drivers/gpu/drm/vc4/vc4_irq.c +++ b/drivers/gpu/drm/vc4/vc4_irq.c @@ -83,8 +83,10 @@ vc4_overflow_mem_work(struct work_struct *work) spin_lock_irqsave(&vc4->job_lock, irqflags); current_exec = vc4_first_bin_job(vc4); + if (!current_exec) + current_exec = vc4_last_render_job(vc4); if (current_exec) { - vc4->overflow_mem->seqno = vc4->finished_seqno + 1; + vc4->overflow_mem->seqno = current_exec->seqno; list_add_tail(&vc4->overflow_mem->unref_head, ¤t_exec->unref_list); vc4->overflow_mem = NULL; |