[Intel-gfx] [PATCH 3/9] drm: Add DSI panel power on/off sequence programming

Vidya Srinivas vidya.srinivas at intel.com
Wed Feb 8 10:50:52 UTC 2017


From: Uma Shankar <uma.shankar at intel.com>

Panel Power On/Off sequences are part of Panel spec.
Enabling the support of same in DRM layer for fine grained
panel control. Some DSI controller/panels require making
SOC specific device ready changes in between the panel
power ON and sending the OTP sequences.

This patch introduces drm_panel_power_on which can be used
to decouple panel power ON and OTP. Earlier both operations
were being done as part of drm_panel_prepare.

Signed-off-by: Uma Shankar <uma.shankar at intel.com>
Signed-off-by: Vidya Srinivas <vidya.srinivas at intel.com>
---
 include/drm/drm_panel.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h
index 220d1e2b..515595b 100644
--- a/include/drm/drm_panel.h
+++ b/include/drm/drm_panel.h
@@ -69,6 +69,8 @@ struct drm_panel_funcs {
 	int (*disable)(struct drm_panel *panel);
 	int (*unprepare)(struct drm_panel *panel);
 	int (*prepare)(struct drm_panel *panel);
+	int (*power_on)(struct drm_panel *panel);
+	int (*power_off)(struct drm_panel *panel);
 	int (*enable)(struct drm_panel *panel);
 	int (*get_modes)(struct drm_panel *panel);
 	int (*get_timings)(struct drm_panel *panel, unsigned int num_timings,
@@ -166,6 +168,22 @@ static inline int drm_panel_enable(struct drm_panel *panel)
 	return panel ? -ENOSYS : -EINVAL;
 }
 
+static inline int drm_panel_power_on(struct drm_panel *panel)
+{
+	if (panel && panel->funcs && panel->funcs->power_on)
+		return panel->funcs->power_on(panel);
+
+	return panel ? -ENOSYS : -EINVAL;
+}
+
+static inline int drm_panel_power_off(struct drm_panel *panel)
+{
+	if (panel && panel->funcs && panel->funcs->power_off)
+		return panel->funcs->power_off(panel);
+
+	return panel ? -ENOSYS : -EINVAL;
+}
+
 /**
  * drm_panel_get_modes - probe the available display modes of a panel
  * @panel: DRM panel
-- 
1.9.1



More information about the Intel-gfx mailing list