drm/i915/dp: Use BDB_GENERAL_FEATURES VBT block info for builtin panel-orientation
authorHans de Goede <hdegoede@redhat.com>
Fri, 28 Feb 2020 11:41:10 +0000 (12:41 +0100)
committerHans de Goede <hdegoede@redhat.com>
Mon, 2 Mar 2020 13:01:42 +0000 (14:01 +0100)
Some devices with a builtin panel have the panel mounted upside down,
this is indicated by the rotate_180 bit in the BDB_GENERAL_FEATURES VBT
block.

We store this info in dev_priv->vbt.orientation, use this to set the
connector's orientation property so that fbcon and userspace will show
the image the right way up on devices with an upside-down mounted panel.

This fixes the image being upside-down on a Teclast X89 tablet.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200228114110.187792-3-hdegoede@redhat.com
drivers/gpu/drm/i915/display/intel_dp.c

index 2db8d46..c31f523 100644 (file)
@@ -7608,9 +7608,8 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
        intel_panel_setup_backlight(connector, pipe);
 
        if (fixed_mode) {
-               /* We do not know the orientation, but their might be a quirk */
                drm_connector_set_panel_orientation_with_quirk(connector,
-                               DRM_MODE_PANEL_ORIENTATION_UNKNOWN,
+                               dev_priv->vbt.orientation,
                                fixed_mode->hdisplay, fixed_mode->vdisplay);
        }