Enable the call back for MIPI reset sequence. This is needed to reset the panel, and is part of the VBT spec. Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> --- drivers/gpu/drm/i915/intel_dsi.c | 6 ++++++ drivers/gpu/drm/i915/intel_dsi_panel_vbt.c | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c index 9252490..cdcd3188 100644 --- a/drivers/gpu/drm/i915/intel_dsi.c +++ b/drivers/gpu/drm/i915/intel_dsi.c @@ -561,6 +561,10 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder, intel_dsi_prepare(encoder, pipe_config); + /* Panel Enable */ + drm_panel_power_on(intel_dsi->panel); + msleep(intel_dsi->panel_on_delay); + /* Panel Enable over CRC PMIC */ if (intel_dsi->gpio_panel) gpiod_set_value_cansleep(intel_dsi->gpio_panel, 1); @@ -576,6 +580,8 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder, I915_WRITE(DSPCLK_GATE_D, val); } + drm_panel_reset(intel_dsi->panel); + /* put device in ready state */ intel_dsi_device_ready(encoder); diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c index d476b94..0dc63f5 100644 --- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c +++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c @@ -493,7 +493,6 @@ static void generic_exec_sequence(struct drm_panel *panel, enum mipi_seq seq_id) static int vbt_panel_prepare(struct drm_panel *panel) { - generic_exec_sequence(panel, MIPI_SEQ_ASSERT_RESET); generic_exec_sequence(panel, MIPI_SEQ_POWER_ON); generic_exec_sequence(panel, MIPI_SEQ_DEASSERT_RESET); generic_exec_sequence(panel, MIPI_SEQ_INIT_OTP); @@ -561,10 +560,18 @@ static int vbt_panel_power_off(struct drm_panel *panel) return 0; } +static int vbt_panel_reset(struct drm_panel *panel) +{ + generic_exec_sequence(panel, MIPI_SEQ_ASSERT_RESET); + + return 0; +} + static const struct drm_panel_funcs vbt_panel_funcs = { .disable = vbt_panel_disable, .unprepare = vbt_panel_unprepare, .prepare = vbt_panel_prepare, + .reset = vbt_panel_reset, .power_on = vbt_panel_power_on, .power_off = vbt_panel_power_off, .enable = vbt_panel_enable, -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx