diff options
author | Eric Anholt <eric@anholt.net> | 2019-03-13 19:52:08 -0400 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2019-04-01 13:44:27 -0400 |
commit | ad8d68b214c79c7db7ffc10cd3a0c706cb15ad05 (patch) | |
tree | 0be5a129cdc2b6f9c963652dbe99d968acacfce5 /drivers/gpu/drm/v3d/v3d_irq.c | |
parent | fc0c77fcbfb7c8e022a0bd655eeb7fa5f9bb1684 (diff) |
drm/v3d: Add a note about OOM vs FLDONE, 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.
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>
Diffstat (limited to 'drivers/gpu/drm/v3d/v3d_irq.c')
-rw-r--r-- | drivers/gpu/drm/v3d/v3d_irq.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c index b4d6ae81186d..656040ce2a39 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) | |||
87 | if (intsts & V3D_INT_OUTOMEM) { | 87 | if (intsts & V3D_INT_OUTOMEM) { |
88 | /* Note that the OOM status is edge signaled, so the | 88 | /* Note that the OOM status is edge signaled, so the |
89 | * interrupt won't happen again until the we actually | 89 | * interrupt won't happen again until the we actually |
90 | * add more memory. | 90 | * add more memory. Also, as of V3D 4.1, FLDONE won't |
91 | * be reported until any OOM state has been cleared. | ||
91 | */ | 92 | */ |
92 | schedule_work(&v3d->overflow_mem_work); | 93 | schedule_work(&v3d->overflow_mem_work); |
93 | status = IRQ_HANDLED; | 94 | status = IRQ_HANDLED; |