[Intel-gfx] [PATCH] drm/i915/dsi: Enable dsi as part of encoder->enable

Kulkarni, Vandita vandita.kulkarni at intel.com
Tue Jan 28 14:38:04 UTC 2020


> -----Original Message-----
> From: Jani Nikula <jani.nikula at intel.com>
> Sent: Monday, January 27, 2020 5:34 PM
> To: Kulkarni, Vandita <vandita.kulkarni at intel.com>; intel-
> gfx at lists.freedesktop.org
> Cc: Kulkarni, Vandita <vandita.kulkarni at intel.com>
> Subject: Re: [PATCH] drm/i915/dsi: Enable dsi as part of encoder->enable
> 
> On Mon, 27 Jan 2020, Vandita Kulkarni <vandita.kulkarni at intel.com> 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 at intel.com>
> > ---
> >  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


More information about the Intel-gfx mailing list