> -----Original Message----- > From: Jani Nikula <jani.nikula@xxxxxxxxx> > Sent: Monday, January 27, 2020 5:34 PM > To: Kulkarni, Vandita <vandita.kulkarni@xxxxxxxxx>; intel- > gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Kulkarni, Vandita <vandita.kulkarni@xxxxxxxxx> > Subject: Re: [PATCH] drm/i915/dsi: Enable dsi as part of encoder->enable > > On Mon, 27 Jan 2020, Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> wrote: > > Enable the dsi transcoder, panel and backlight as part of > > encoder->enable and not encoder->pre_enable. > > That's the *what*, and we can see that much from the patch. > > But we need to know *why*, and why you think it was done like this before, and > why it's okay now, etc. Now this is necessary, as we should configure pipe parameters like pipe_src_size before enabling the pipe_config for dsi, And we are using the same code path as other encoders. I will update the same in the commit message. Thank you, Also please let me know your opinion on handling pipe src size part to icl_dsi to before enabling the transcoder. > > BR, > Jani. > > > > > Signed-off-by: Vandita Kulkarni <vandita.kulkarni@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/display/icl_dsi.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c > > b/drivers/gpu/drm/i915/display/icl_dsi.c > > index 1186a5df057e..d40ee5951168 100644 > > --- a/drivers/gpu/drm/i915/display/icl_dsi.c > > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c > > @@ -1086,8 +1086,6 @@ static void gen11_dsi_pre_enable(struct > intel_encoder *encoder, > > const struct intel_crtc_state *pipe_config, > > const struct drm_connector_state > *conn_state) { > > - struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); > > - > > /* step3b */ > > gen11_dsi_map_pll(encoder, pipe_config); > > > > @@ -1101,6 +1099,13 @@ static void gen11_dsi_pre_enable(struct > > intel_encoder *encoder, > > > > /* step6c: configure transcoder timings */ > > gen11_dsi_set_transcoder_timings(encoder, pipe_config); > > +} > > + > > +static void gen11_dsi_enable(struct intel_encoder *encoder, > > + const struct intel_crtc_state *pipe_config, > > + const struct drm_connector_state > *conn_state) { > > + struct intel_dsi *intel_dsi = enc_to_intel_dsi(encoder); > > > > /* step6d: enable dsi transcoder */ > > gen11_dsi_enable_transcoder(encoder); > > @@ -1727,6 +1732,7 @@ void icl_dsi_init(struct drm_i915_private > > *dev_priv) > > > > encoder->pre_pll_enable = gen11_dsi_pre_pll_enable; > > encoder->pre_enable = gen11_dsi_pre_enable; > > + encoder->enable = gen11_dsi_enable; > > encoder->disable = gen11_dsi_disable; > > encoder->post_disable = gen11_dsi_post_disable; > > encoder->port = port; > > -- > Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx