[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


Hi Ivo,

> Am 06.01.2022 um 17:26 schrieb Ivaylo Dimitrov <ivo.g.dimitrov.75 at gmail.com>:
> 
> 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 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.
> 
> Thanks,
> 
> I think lts kernels shall get that fix too, but I have no idea how :) .

https://01.org/linuxgraphics/gfx-docs/drm/process/stable-kernel-rules.html <https://01.org/linuxgraphics/gfx-docs/drm/process/stable-kernel-rules.html>

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
within 5.18-rc.

Maybe there is a "fast lane" I do not know...

BR,
Nikolaus


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.goldelico.com/pipermail/openpvrsgx-devgroup/attachments/20220106/4b83b7de/attachment.htm>


More information about the openpvrsgx-devgroup mailing list