drm/v3d: Add a note about OOM vs FLDONE, which may be racing on v3.3.
authorEric Anholt <eric@anholt.net>
Wed, 13 Mar 2019 23:52:08 +0000 (16:52 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 1 Apr 2019 17:44:27 +0000 (10:44 -0700)
We deref v3d->bin_job in the work handler, but v3d->bin_job doesn't
actually hold a ref on the job.

v2: typo fix FRDONE -> FLDONE

Signed-off-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20190313235211.28995-1-eric@anholt.net
Reviewed-by: Dave Emett <david.emett@broadcom.com>
drivers/gpu/drm/v3d/v3d_irq.c

index b4d6ae81186d1a90590fe5238c5959cee80148be..656040ce2a39e202fadd300c3bd7b797da8ee991 100644 (file)
@@ -87,7 +87,8 @@ v3d_irq(int irq, void *arg)
        if (intsts & V3D_INT_OUTOMEM) {
                /* Note that the OOM status is edge signaled, so the
                 * interrupt won't happen again until the we actually
-                * add more memory.
+                * add more memory.  Also, as of V3D 4.1, FLDONE won't
+                * be reported until any OOM state has been cleared.
                 */
                schedule_work(&v3d->overflow_mem_work);
                status = IRQ_HANDLED;