aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/drm/drm_mode_config.h
diff options
context:
space:
mode:
authorHans de Goede <j.w.r.degoede@gmail.com>2017-11-25 20:35:49 +0100
committerHans de Goede <hdegoede@redhat.com>2017-12-04 23:03:21 +0100
commit8d70f395e6cbece665b12b4bf6dbc48d12623014 (patch)
tree0a925210e334f21ad952d2f4441883a37f629abb /include/drm/drm_mode_config.h
parentdrm: Add panel orientation quirks, v6. (diff)
downloadwireguard-linux-8d70f395e6cbece665b12b4bf6dbc48d12623014.tar.xz
wireguard-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.h7
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;