Message ID | 8acb06fa634fe9637fdc09a3f5d2588b9138224f.1540900289.git.jani.nikula@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/icl: dsi enabling | expand |
On Tue, 30 Oct 2018, Jani Nikula <jani.nikula@intel.com> wrote: > From: Madhav Chauhan <madhav.chauhan@intel.com> > > This patch execute poweron, deassert reset, display on > VBT sequences and send TURN_ON DSI command to panel for > powering it up. > > Signed-off-by: Madhav Chauhan <madhav.chauhan@intel.com> > Reviewed-by: Jani Nikula <jani.nikula@intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Pushed to dinq. BR, Jani. > --- > drivers/gpu/drm/i915/icl_dsi.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c > index 9c424adc8b75..d9c91001f107 100644 > --- a/drivers/gpu/drm/i915/icl_dsi.c > +++ b/drivers/gpu/drm/i915/icl_dsi.c > @@ -664,6 +664,13 @@ static void gen11_dsi_powerup_panel(struct intel_encoder *encoder) > if (ret < 0) > DRM_ERROR("error setting max return pkt size%d\n", tmp); > } > + > + /* panel power on related mipi dsi vbt sequences */ > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); > + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP); > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); > } > > static void __attribute__((unused))
diff --git a/drivers/gpu/drm/i915/icl_dsi.c b/drivers/gpu/drm/i915/icl_dsi.c index 9c424adc8b75..d9c91001f107 100644 --- a/drivers/gpu/drm/i915/icl_dsi.c +++ b/drivers/gpu/drm/i915/icl_dsi.c @@ -664,6 +664,13 @@ static void gen11_dsi_powerup_panel(struct intel_encoder *encoder) if (ret < 0) DRM_ERROR("error setting max return pkt size%d\n", tmp); } + + /* panel power on related mipi dsi vbt sequences */ + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP); + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); } static void __attribute__((unused))