summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tiny/simpledrm.c
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2022-02-21 23:00:45 +0100
committerHans de Goede <hdegoede@redhat.com>2022-02-23 13:17:50 +0100
commit94fa115f7b28a3f02611499175e134f0a823b686 (patch)
tree4789b729e176a2d04e6ab930af26c90b327e4abd /drivers/gpu/drm/tiny/simpledrm.c
parentdrm/selftests: add drm buddy pathological testcase (diff)
downloadlinux-94fa115f7b28a3f02611499175e134f0a823b686.tar.xz
linux-94fa115f7b28a3f02611499175e134f0a823b686.zip
drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD panels
Some devices use e.g. a portrait panel in a standard laptop casing made for landscape panels. efifb calls drm_get_panel_orientation_quirk() and sets fb_info.fbcon_rotate_hint to make fbcon rotate the console so that it shows up-right instead of on its side. When switching to simpledrm the fbcon renders on its side. Call the drm_connector_set_panel_orientation_with_quirk() helper to add a "panel orientation" property on devices listed in the quirk table, to make the fbcon (and aware userspace apps) rotate the image to display properly. Cc: Javier Martinez Canillas <javierm@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20220221220045.11958-1-hdegoede@redhat.com
Diffstat (limited to 'drivers/gpu/drm/tiny/simpledrm.c')
-rw-r--r--drivers/gpu/drm/tiny/simpledrm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tiny/simpledrm.c b/drivers/gpu/drm/tiny/simpledrm.c
index d191e87a37b5..f5b8e864a5cd 100644
--- a/drivers/gpu/drm/tiny/simpledrm.c
+++ b/drivers/gpu/drm/tiny/simpledrm.c
@@ -810,6 +810,9 @@ static int simpledrm_device_init_modeset(struct simpledrm_device *sdev)
if (ret)
return ret;
drm_connector_helper_add(connector, &simpledrm_connector_helper_funcs);
+ drm_connector_set_panel_orientation_with_quirk(connector,
+ DRM_MODE_PANEL_ORIENTATION_UNKNOWN,
+ mode->hdisplay, mode->vdisplay);
formats = simpledrm_device_formats(sdev, &nformats);