Hi David,
Am 02.06.2020 um 18:16 schrieb David Shah dave@ds0.me:
Hi all!
This is my first attempt to get TILER working on newer kernels (tested with letux-5.6.y and letux-5.7) following on from our discussions on the forum.
As I don't have access to a Pyra prototype or LCD, I've tested this by rotating the HDMI output with the command-line rotate parameter (although, in fact, hopefully this patch fixes the rotated HDMI output on the Pyra).
I've also attempted to test it by pretending a Pyra LCD is attached by using omap5-uevm+pyra4+boe.dtb, TILER seems to be being set up and the framebuffer rotated but for some reason I can't get X to start this way - this doesn't seem to be related to the patch though.
Instead of the old parameter that rotated all framebuffers, this patch goes a slightly different way by adding a drm.force_hw_rotation parameter to enable 90/270 degree hardware rotation, then the usual rotation infrastructure can be used.
It would be great to get some feedback on the code as I don't have much experience with the kernel code style. Some help testing this on Pyra hardware would also be appreciated, ideally if someone is able to apply this to the correct tree and test.
I quickly applied to letux-5.7 and could start. But the LCD remains black and there is no backlight. And there is no /dev/fb0 (haven't checked dmesg yet). So this seems to be a different problem.
But here are the good news: placed on top of letux-5.6.y makes the console framebuffer be rotated properly! tiler-ctl has no function any more of course.
So I'll add it to the next letux-5.4.y and letux-5.6.y builds. What I have changed is to set the new parameter to true by default. And try to find out why 5.7 is broken (again).
So this is a good workaround. A better solution would be to somehow read the panel orientation from device tree and not define it in the panel driver. And to get rid of the force_hw_rotation module parameter. But that all can be polished later.
BR and thanks for your good guess what has to be done, Nikolaus