Letux Kernel

Issue 884: Proper integration of the TILER rotation

Reported by Michael Mrozek, Jun 14, 2018

The current TILER rotation-code used in the Pyra was just a quick 
hack to get it to work.
It causes some issues (as far as I am aware because of this we can't 
use the 3D driver and omapdrm also doesn't work properly), so it 
needs to be cleaned up for release.

Comment 1 by Nikolaus Schaller, Jul 22, 2019

Key problem is defining the drm_fb_helper to request rotation.
There seem to be mechanisms in the DRM work queue that a panel 
(driver) can define the panel orientation.
Labels: Device:Pyra

Comment 2 by Nikolaus Schaller, Jul 22, 2019

With kernel 5.3-rc1 there have been changes to drm_fb_helper.c which 
breaks our framebuffer rotation again :(
Labels: Priority:High Priority:Medium

Comment 3 by daveshah, Jun 18, 2020

The TILER is now working again in 5.6. A new command line parameter 
is added "drm.force_hw_rotation" that uses the panel 
orientation to rotate the framebuffer using the TILER.

The situation is still not ideal, primarily as userspace stuff still 
needs some changes to use TILER correctly. In particular, 
width/height still need to be swapped, and anything using 
DRM_IOCTL_MODE_CREATE_DUMB needs to be changed to 
DRM_IOCTL_OMAP_GEM_NEW in order to create a tiled buffer.

However, I have implemented a shim to fix this for fullscreen stuff (
https://github.com/daveshah1/tiler_rotate_shim) and am currently 
patching the xf86-video-armsoc-omap5 X11 driver to use TILER 
rotation too, in order to get DRI3 support.

Created: 6 years 9 days ago by Michael Mrozek

Updated: 4 years 5 days ago

Status: New

Followed by: 2 persons