Hey all,

Last year I bought an OMAP5UEVM with the aim of assisting in the development of the Pyra. It's currently hooked up to a HDMI display but I thought that would be enough to get rotation working for all output types. After taking the time to flick through the entirety of the TRM, compiling uboot and the kernel, playing around with the configuration options and reading some of the source code I'm finally up to a stage where I can consider myself lost.

My background is an application developer in Java. I learned a little bit of C when I was younger but the rapid development requirements of business meant Java was better suited. I've normally developed on a Linux machine so know my way around as a user. Looking at the source code has been a big jump. A challenge that I'm hoping I can meet.

I hope that I'm correct that Tiler code is located in /drivers/gpu/drm/omapdrm. What I'm not sure of is where I need to be fixing the 'problem'.

Is it the individual planes that should be rotated?
Is it a problem that a viewport is not hooked up to omap_dmm_tiler?

I think my problem is that I don't understand the linux frameworks around either memory allocation or display subsystems (GEM/DRI/DRM/other?) and I don't know where to go looking to start understanding them. I'm not even sure if it could be a DMA issue that I should be looking at.

I have tried doing some searching on the pyra mailing list.
https://www.pyra-handheld.com/pipermail/kernel/2016-June/000945.html is a nice discussion but doesn't point me at anything.

https://www.pyra-handheld.com/pipermail/kernel/2018-February/002328.html talks about using tiler for fbdev but that only gets us a 2D context?

I'm currently sitting on the 4.9 branch of the Letux kernel. Is that the correct one I should be aiming for a stable fix of the rotation before moving it to a more recent release?

Does anyone have resources to text or video that would help me better understand the subsystems that are involved to get TILER working?

The toughest question would be is there something that can be pointed to that would help me fix/implement a rotating display so that I could ultimately provide a patch? I don't know if that is going to come in the form of a branch or different repo. I understand if it was easy then this problem probably wouldn't exist.

Hopefully I'm asking in the right places. Pyra because that is the reason I am involved and Letux because that is the repository I am looking at.

--
Russell Mullens