Hello!
This series adds 180° display plane rotation support to the NVIDIA Tegra DRM driver which is needed for devices that have display panel physically mounted upside-down, like Nexus 7 tablet device for example [1]. Since DRM panel rotation is a new thing for a userspace, currently only Opentegra Xorg driver handles the rotated display panel [2], but this is good enough for the start.
Note that later on it should be possible to implement a transparent 180° display rotation for Tegra DRM driver which will remove the need to have a bleeding edge userspace that knows how to rotate display planes and I'm slowly working on it. For the starter we can go with the minimal rotation support, so it's not a blocker.
This series is based on the work that was made by Derek Basehore for the Mediatek driver [3], his patches are included into this patchset. I added my tested-by tags to the Derek's patches.
Please review and apply, thanks in advance!
[1] https://patchwork.ozlabs.org/project/linux-tegra/patch/20200607154327.18589-... [2] https://github.com/grate-driver/xf86-video-opentegra/commit/28eb20a3959bbe5b... [3] https://lkml.org/lkml/2020/3/5/1119
Derek Basehore (2): drm/panel: Add helper for reading DT rotation drm/panel: Set display info in panel attach
Dmitry Osipenko (4): drm/panel: lvds: Set up panel orientation drm/tegra: plane: Rename bottom_up to reflect_y drm/tegra: plane: Support horizontal reflection mode drm/tegra: plane: Support 180° rotation
drivers/gpu/drm/drm_panel.c | 56 ++++++++++++++++++++++++++++ drivers/gpu/drm/panel/panel-lvds.c | 6 +++ drivers/gpu/drm/tegra/dc.c | 43 ++++++++++++++++++---- drivers/gpu/drm/tegra/dc.h | 3 +- drivers/gpu/drm/tegra/plane.c | 3 +- drivers/gpu/drm/tegra/plane.h | 3 +- include/drm/drm_panel.h | 59 ++++++++++++++++++++++++++++++ 7 files changed, 162 insertions(+), 11 deletions(-)