On Tue, Apr 14, 2020 at 2:18 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote: > > 14.04.2020 22:32, dbasehore . пишет: > > Hi Dmitry, sorry for the late reply. > > > > On Sun, Mar 8, 2020 at 12:25 PM Dmitry Osipenko <digetx@xxxxxxxxx> wrote: > >> > >> 06.03.2020 03:21, Derek Basehore пишет: > >>> This adds the plumbing for reading panel rotation from the devicetree > >>> and sets up adding a panel property for the panel orientation on > >>> Mediatek SoCs when a rotation is present. > >> > >> Hello Derek and everyone, > >> > >> I'm looking at adding display rotation support to NVIDIA Tegra DRM > >> driver because some devices have display panel physically mounted > >> upside-down, and thus, display controller's scan-out needs to be rotated > >> by 180° in this case. > >> > >> Derek, yours panel-rotation patches add support for assigning panel's > >> orientation to the connector, but then only primary display plane > >> receives rotation value in [1], while rotation needs to be applied to > >> all available overlay/cursor planes and this should happen in other > >> places than [1] as well. > > > > This is intended. We don't correct the output in the kernel. We > > instead rely on notifying userspace that the panel is rotated, then we > > handle it there. > > > >> > >> [1] drm_client_modeset_commit_atomic() > >> > >> Please also note that in a case of the scan-out rotation, plane's > >> coordinates need to be changed in accordance to the display's rotation. > >> > >> I looked briefly through the DRM code and my understanding that the DRM > >> core currently doesn't support use-case where scan-out needs to rotated > >> based on a panel's orientation, correct? Is it the use-case you're > >> working on for the Mediatek driver? > > > > Yes, we rely on userspace to rotate the output. The major reason for > > this is because there may not be a "free" hardware rotation that can > > be applied to the overlay. Sean Paul and others also preferred that > > userspace control what is output to the screen instead of the kernel > > taking care of it. This code just adds the drm property to the panel. > > > > Could you please explain what that userspace is? This was added for Chrome OS, which uses its own graphics stack, Ozone, instead of Xorg. > > AFAIK, things like Xorg modesetting don't support that orientation property.