Hi,
On 9.11.21 г. 11:22 ч., Tomi Valkeinen wrote:
Hi,
On 08/11/2021 19:43, Ivaylo Dimitrov wrote:
Sorry, mail was sent to the old Tomi's address.
On 8.11.21 г. 19:05 ч., Ivaylo Dimitrov wrote:
Hi,
Currently omapdrm supports TILER rotation only, which excludes omap3
and earlier SoCs. I have the hardware (N900/N950), time and will to
implement VRFB rotation support in omapdrm driver, however, I'll
appreciate some hints. Or, if there is already something ready,
please point me to it so I can take it from where it is.
Besides partially reverting 517a8a9564c0dea98e6d4e2c7f0fe4cbb9b8c9ba
and copying VRFB code from omapfb, is there anything else I shall
take in consideration? Or, VRFB driver should not be a part of
omapdrm, but a standalone one?
We already have DMM driver in the omapdrm module, and I think VRFB fits
along just fine. I don't think there ever has been any other users for
VRFB than DSS, and as it's such an old IP, I don't think there ever will.
Ok, I guess if a need appears, it can always be moved out of omapdrm.
The same applies to DMM/TILER code I guess.
I don't have any particular hints in mind.
Do you have omap4/5 so you can test that DMM still works after your
changes?
Yes, I have motorola droid4 (4430/sgx540) to test with. Which brings
another issue on the table - I was not able to find a way to allocate a
TILER dma_buf. The only way seems to be by using omap_bo_xxx functions,
which is a 'vendor' API. Do I miss something or omapdrm is lacks
functionality? Also, is there any particular reason why TILER is not
enabled by default for dma_buf BOs? Is it a limited resource (like,
there is a finite number of BOs that can use TILER) or there is some
other reason. Also, is it possible to 'migrate' non-TILER BO to a TILER
one? The same issue will arise with VRFB (with its 12 contexts on omap3)
as well.
So, in short:
- omap3: VRFB driver to be added to omapdrm.
- omap3/omap4/omap5: dma_buf lacks TILER/VRFB support
Adding VRFB should be trivial, but I am more concerned about how to
rotate dma_buf buffers. I imagine something like - on setting the plane
"rotate" property, migrate physical address from 'normal' CMA memory to
a TILER/VRFB one. Is that possible? What if we already have that bo
mmap-ed? What if SGX MMU is already set up to access the memory? Or, is
it possible to use TILER for read access, the same way VRFB can be
set-up, so instead of writing through TILER/VRFB, DSS to be set-up to
read FB memory through TILER/VRFB thus avoiding the need to migrate SG
and/or page tables?
Thanks and regards,
Ivo