[Intel-gfx] [PATCH 2/2] drm/i915: Add functions to execute the new sequences from VBT
Deepak M
m.deepak at intel.com
Fri Feb 19 11:28:54 UTC 2016
From: Gaurav K Singh <gaurav.k.singh at intel.com>
New sequences are added in the mipi sequence block of the
VBT from version 3 onwards. The sequences are added to
make the code more generic as the panel related info
are placed in the VBT.
Cc: Jani Nikula <jani.nikula at intel.com>
Signed-off-by: Gaurav K Singh <gaurav.k.singh at intel.com>
Signed-off-by: Shobhit Kumar <shobhit.kumar at intel.com>
Signed-off-by: Deepak M <m.deepak at intel.com>
---
drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 48 ++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index c6e18fe..db8e210 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -1035,12 +1035,60 @@ static int vbt_panel_get_modes(struct drm_panel *panel)
return 1;
}
+static int vbt_panel_power_on(struct drm_panel *panel)
+{
+ generic_exec_sequence(panel, MIPI_SEQ_POWER_ON);
+
+ return 0;
+}
+
+static int vbt_panel_power_off(struct drm_panel *panel)
+{
+ generic_exec_sequence(panel, MIPI_SEQ_POWER_OFF);
+
+ return 0;
+}
+
+static int vbt_panel_backlight_on(struct drm_panel *panel)
+{
+ generic_exec_sequence(panel, MIPI_SEQ_BACKLIGHT_ON);
+
+ return 0;
+}
+
+static int vbt_panel_backlight_off(struct drm_panel *panel)
+{
+ generic_exec_sequence(panel, MIPI_SEQ_BACKLIGHT_OFF);
+
+ return 0;
+}
+
+static int vbt_panel_get_info(struct drm_panel *panel,
+ struct drm_connector *connector)
+{
+ struct intel_connector *intel_connector =
+ to_intel_connector(connector);
+
+ if (intel_connector) {
+ connector->display_info.width_mm =
+ intel_connector->panel.fixed_mode->width_mm;
+ connector->display_info.height_mm =
+ intel_connector->panel.fixed_mode->height_mm;
+ }
+ return 0;
+}
+
static const struct drm_panel_funcs vbt_panel_funcs = {
.disable = vbt_panel_disable,
.unprepare = vbt_panel_unprepare,
.prepare = vbt_panel_prepare,
.enable = vbt_panel_enable,
.get_modes = vbt_panel_get_modes,
+ .power_on = vbt_panel_power_on,
+ .power_off = vbt_panel_power_off,
+ .backlight_on = vbt_panel_backlight_on,
+ .backlight_off = vbt_panel_backlight_off,
+ .get_info = vbt_panel_get_info,
};
struct drm_panel *vbt_panel_init(struct intel_dsi *intel_dsi, u16 panel_id)
--
1.9.1
More information about the Intel-gfx
mailing list