Re: omapdrm VRFB rotation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux