On Tue, 16 Jan 2024, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > This reverts commit 88b065943cb583e890324d618e8d4b23460d51a3. > > Lenovo 82TQ is unhappy if we do the display on sequence this > late. The display output shows severe corruption. > > It's unclear if this is a failure on our part (perhaps > something to do with sending commands in LP mode after HS > /video mode transmission has been started? Though the backlight > on command at least seems to work) or simply that there are > some commands in the sequence that are needed to be done > earlier (eg. could be some DSC init stuff?). If the latter > then I don't think the current Windows code would work > either, but maybe this was originally tested with an older > driver, who knows. > > Root causing this fully would likely require a lot of > experimentation which isn't really feasible without direct > access to the machine, so let's just accept failure and > go back to the original sequence. > > Cc: stable@xxxxxxxxxxxxxxx > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10071 > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/icl_dsi.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/display/icl_dsi.c > index ac456a2275db..eda4a8b88590 100644 > --- a/drivers/gpu/drm/i915/display/icl_dsi.c > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c > @@ -1155,6 +1155,7 @@ static void gen11_dsi_powerup_panel(struct intel_encoder *encoder) > } > > intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_INIT_OTP); > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); > > /* ensure all panel commands dispatched before enabling transcoder */ > wait_for_cmds_dispatched_to_panel(encoder); > @@ -1255,8 +1256,6 @@ static void gen11_dsi_enable(struct intel_atomic_state *state, > /* step6d: enable dsi transcoder */ > gen11_dsi_enable_transcoder(encoder); > > - intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DISPLAY_ON); > - > /* step7: enable backlight */ > intel_backlight_enable(crtc_state, conn_state); > intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_BACKLIGHT_ON); -- Jani Nikula, Intel