diff options
author | Hans de Goede <j.w.r.degoede@gmail.com> | 2017-11-25 20:35:49 +0100 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2017-12-04 23:03:21 +0100 |
commit | 8d70f395e6cbece665b12b4bf6dbc48d12623014 (patch) | |
tree | 0a925210e334f21ad952d2f4441883a37f629abb /include/drm/drm_mode_config.h | |
parent | drm: Add panel orientation quirks, v6. (diff) | |
download | linux-8d70f395e6cbece665b12b4bf6dbc48d12623014.tar.xz linux-8d70f395e6cbece665b12b4bf6dbc48d12623014.zip |
drm: Add support for a panel-orientation connector property, v6
On some devices the LCD panel is mounted in the casing in such a way that
the up/top side of the panel does not match with the top side of the
device (e.g. it is mounted upside-down).
This commit adds the necessary infra for lcd-panel drm_connector-s to
have a "panel orientation" property to communicate how the panel is
orientated vs the casing.
Userspace can use this property to check for non-normal orientation and
then adjust the displayed image accordingly by rotating it to compensate.
Changes in v2:
-Store panel_orientation in drm_display_info, so that drm_fb_helper.c can
access it easily
-Have a single drm_connector_init_panel_orientation_property rather then
create and attach functions. The caller is expected to set
drm_display_info.panel_orientation before calling this, then this will
check for platform specific quirks overriding the panel_orientation and if
the panel_orientation is set after this then it will attach the property.
Changes in v6:
-Use an enum (with kerneldoc) rather then #defines for
DRM_MODE_PANEL_ORIENTATION_*
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171125193553.23986-4-hdegoede@redhat.com
Diffstat (limited to 'include/drm/drm_mode_config.h')
-rw-r--r-- | include/drm/drm_mode_config.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/drm/drm_mode_config.h b/include/drm/drm_mode_config.h index f7ef0023d68b..a0afeb591dcb 100644 --- a/include/drm/drm_mode_config.h +++ b/include/drm/drm_mode_config.h @@ -735,6 +735,13 @@ struct drm_mode_config { */ struct drm_property *non_desktop_property; + /** + * @panel_orientation_property: Optional connector property indicating + * how the lcd-panel is mounted inside the casing (e.g. normal or + * upside-down). + */ + struct drm_property *panel_orientation_property; + /* dumb ioctl parameters */ uint32_t preferred_depth, prefer_shadow; |