Message ID | 20200127111608.7246-1-vandita.kulkarni@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/dsi: Enable dsi as part of encoder->enable | expand |
On Mon, 27 Jan 2020, Vandita Kulkarni <vandita.kulkarni@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. BR, Jani. > > Signed-off-by: Vandita Kulkarni <vandita.kulkarni@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;
> -----Original Message----- > From: Jani Nikula <jani.nikula@intel.com> > Sent: Monday, January 27, 2020 5:34 PM > To: Kulkarni, Vandita <vandita.kulkarni@intel.com>; intel- > gfx@lists.freedesktop.org > Cc: Kulkarni, Vandita <vandita.kulkarni@intel.com> > Subject: Re: [PATCH] drm/i915/dsi: Enable dsi as part of encoder->enable > > On Mon, 27 Jan 2020, Vandita Kulkarni <vandita.kulkarni@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@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
On Tue, 28 Jan 2020, "Kulkarni, Vandita" <vandita.kulkarni@intel.com> wrote: >> -----Original Message----- >> From: Jani Nikula <jani.nikula@intel.com> >> Sent: Monday, January 27, 2020 5:34 PM >> To: Kulkarni, Vandita <vandita.kulkarni@intel.com>; intel- >> gfx@lists.freedesktop.org >> Cc: Kulkarni, Vandita <vandita.kulkarni@intel.com> >> Subject: Re: [PATCH] drm/i915/dsi: Enable dsi as part of encoder->enable >> >> On Mon, 27 Jan 2020, Vandita Kulkarni <vandita.kulkarni@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. This patch is now part of [1]. Please review. BR, Jani. [1] https://patchwork.freedesktop.org/series/72678/ > >> >> BR, >> Jani. >> >> > >> > Signed-off-by: Vandita Kulkarni <vandita.kulkarni@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 > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
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;
Enable the dsi transcoder, panel and backlight as part of encoder->enable and not encoder->pre_enable. Signed-off-by: Vandita Kulkarni <vandita.kulkarni@intel.com> --- drivers/gpu/drm/i915/display/icl_dsi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)