[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