[PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Tue Aug 30 18:23:28 UTC 2022
On 30/08/2022 21:08, Ivaylo Dimitrov wrote:
>>> flags &= ~OMAP_BO_TILED_MASK;
>>> flags |= 0x00000008;
>>> flags |= OMAP_BO_WC;
>>>
>>> bo = omap_bo_new(dev, size, flags);
>>>
>>> As you can see we use 0x00000008 (OMAP_BO_MEM_CONTIG) unconditionally.
>>> This was a hack added since even non-scanout buffers sometimes need
>>> to be contiguous (video decoder surfaces), but we had no way back
>
> Hmm, why would video decoder need linear memory? No MMU?
Not sure about this case, but many/most IPs don't have MMU. E.g. CSI-2
or parallel capture.
>>> If you tell me what the code should look like, I can rebuild the
>>> lib and post a copy.
>>>
>>> Long term, I'd like to start using DMA-BUF Heaps for CMA memory
>>> allocations in gralloc and elsewhere, then drop out the DMM/TILER
>>> support from OMAPDRM, since it never really belonged there in
>>> the first place (being a IOMMU unrelated to the display/GPU).
>>>
>
> Umm, how will we rotate scanout buffers then?
Didn't we discuss this earlier in this thread. Or some other thread.
Related to VRFB... I'm not sure =).
Anyway, neither VRFB nor DMM/TILER are part of the DSS. They're part of
the memory subsystem. They can be used without DSS being in the setup.
Thus the code for VRFB and DMM/TILER should not be in the DSS driver.
The DSS driver should still, of course, support DMM/TILER (and maybe
VRFB some day) in the "use" sense, i.e. so that DSS can use the
DMM/TILER provided from another driver.
But how exactly that's to be implemented, I don't know.
Tomi
More information about the dri-devel
mailing list