Messages in this thread | | | Subject | Re: [PATCH] drm: omapdrm: Fix implicit dma_buf fencing | From | Ivaylo Dimitrov <> | Date | Thu, 6 Jan 2022 18:26:22 +0200 |
| |
Hi,
On 6.01.22 г. 15:43 ч., Tomi Valkeinen wrote: > Hi, > > On 05/01/2022 17:36, Ivaylo Dimitrov wrote: >> Currently omapdrm driver does not initialize dma_buf_export_info resv >> member, which leads to a new dma_resv being allocated and attached to >> the exported dma_buf. This leads to the issue that fences created on >> dma_buf objects imported by other drivers are ignored by omapdrm, as only >> fences in gem object resv are waited on. This leads to various issues >> like >> displaying incomplete frames. >> >> Fix that by initializing dma_buf resv to the resv of the gem object being >> exported. >> >> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com> >> --- >> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c >> b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c >> index f1f93cabb61e..a111e5c91925 100644 >> --- a/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c >> +++ b/drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c >> @@ -88,6 +88,7 @@ struct dma_buf *omap_gem_prime_export(struct >> drm_gem_object *obj, int flags) >> exp_info.size = omap_gem_mmap_size(obj); >> exp_info.flags = flags; >> exp_info.priv = obj; >> + exp_info.resv = obj->resv; >> return drm_gem_dmabuf_export(obj->dev, &exp_info); >> } > > Thanks! Pushed to drm-misc-next. >
Thanks,
I think lts kernels shall get that fix too, but I have no idea how :) .
Ivo.
| |