[Openpvrsgx-devgroup] [PATCH] drm: omapdrm: Fix implicit dma_buf fencing
H. Nikolaus Schaller
hns at goldelico.com
Thu Jan 6 18:48:32 CET 2022
> Am 06.01.2022 um 17:26 schrieb Ivaylo Dimitrov <ivo.g.dimitrov.75 at gmail.com>:
> On 6.01.22 г. 15:43 ч., Tomi Valkeinen wrote:
>> 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
>>> Signed-off-by: Ivaylo Dimitrov <ivo.g.dimitrov.75 at 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.
> I think lts kernels shall get that fix too, but I have no idea how :) .
so I think you can use Option 2 after it got merged by Linus. I am not sure
if timing is good for 5.17-rc series. Anyways it should arrive in ca. 3 months
Maybe there is a "fast lane" I do not know...
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the openpvrsgx-devgroup