[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190313235211.28995-1-eric@anholt.net>
Date: Wed, 13 Mar 2019 16:52:08 -0700
From: Eric Anholt <eric@...olt.net>
To: dri-devel@...ts.freedesktop.org
Cc: linux-kernel@...r.kernel.org, david.emett@...adcom.com,
thomas.spurden@...adcom.com, Eric Anholt <eric@...olt.net>
Subject: [PATCH 1/4] drm/v3d: Add a note about OOM vs FRDONE, which may be racing on v3.3.
We deref v3d->bin_job in the work handler, but v3d->bin_job doesn't
actually hold a ref on the job.
Signed-off-by: Eric Anholt <eric@...olt.net>
---
drivers/gpu/drm/v3d/v3d_irq.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c
index b4d6ae81186d..a09442ec7297 100644
--- a/drivers/gpu/drm/v3d/v3d_irq.c
+++ b/drivers/gpu/drm/v3d/v3d_irq.c
@@ -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, FRDONE won't
+ * be reported until any OOM state has been cleared.
*/
schedule_work(&v3d->overflow_mem_work);
status = IRQ_HANDLED;
--
2.20.1
Powered by blists - more mailing lists