drm/modes: Don't apply cmdline's rotation if it wasn't specified
authorDmitry Osipenko <digetx@gmail.com>
Thu, 11 Jul 2019 02:13:13 +0000 (05:13 +0300)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Tue, 16 Jul 2019 08:34:38 +0000 (10:34 +0200)
The rotation mode from cmdline shouldn't be taken into account if it
wasn't specified in the cmdline. This fixes ignored default display
orientation when display mode is given using cmdline without the
rotation being specified.

Fixes: 1bf4e09227c3 ("drm/modes: Allow to specify rotation and reflection on the commandline")
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190711021313.29445-1-digetx@gmail.com
drivers/gpu/drm/drm_client_modeset.c

index 56d36779d21321f0e4c74d1606b6952bdee392a9..c8922b7cac091de342253ac5938acf690c82a4b5 100644 (file)
@@ -859,7 +859,7 @@ bool drm_client_rotation(struct drm_mode_set *modeset, unsigned int *rotation)
         * simple XOR between the two handle the addition nicely.
         */
        cmdline = &connector->cmdline_mode;
-       if (cmdline->specified) {
+       if (cmdline->specified && cmdline->rotation_reflection) {
                unsigned int cmdline_rest, panel_rest;
                unsigned int cmdline_rot, panel_rot;
                unsigned int sum_rot, sum_rest;