On Mon, 30 Nov 2015, Daniel Vetter <daniel@xxxxxxxx> wrote: > On Fri, Nov 27, 2015 at 01:26:40PM +0200, Ville Syrjälä wrote: >> On Fri, Nov 27, 2015 at 12:21:44PM +0200, Jani Nikula wrote: >> > For DSI, the pre_pll_enable and the pre_enable hooks are called >> > back-to-back on all platforms that support DSI. The distinction is >> > artificial for DSI, for which we enable the DSI PLL in the encoder >> > hooks. Do everything in pre_enable, and remove DSI pre_pll_enable hook. >> > >> > Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >> >> I was eyeing this same thing at some point. >> >> For the series: >> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Yeah, all the pretties in here! > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > Btw about bxt dsi I wonder whether we should partially merge this with the > cpu transcoder (since it's only either that or a dsi encoder aparrently). > At least I remember that we still had some issues with bxt's > dsi_get_hw_state? One step at a time, maybe as a follow-up. I'm kind of hesitant to conflate this with cpu transcoder, in case some new platform changes the rules. So for now, I've pushed this to drm-intel-next-queued, thanks for the reviews. BR, Jani. > > Cheers, Daniel > >> >> > --- >> > drivers/gpu/drm/i915/intel_dsi.c | 16 +++++----------- >> > 1 file changed, 5 insertions(+), 11 deletions(-) >> > >> > diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c >> > index efb5a27dd49c..08c46c49c481 100644 >> > --- a/drivers/gpu/drm/i915/intel_dsi.c >> > +++ b/drivers/gpu/drm/i915/intel_dsi.c >> > @@ -462,6 +462,8 @@ static void intel_dsi_enable(struct intel_encoder *encoder) >> > intel_panel_enable_backlight(intel_dsi->attached_connector); >> > } >> > >> > +static void intel_dsi_prepare(struct intel_encoder *intel_encoder); >> > + >> > static void intel_dsi_pre_enable(struct intel_encoder *encoder) >> > { >> > struct drm_device *dev = encoder->base.dev; >> > @@ -474,6 +476,9 @@ static void intel_dsi_pre_enable(struct intel_encoder *encoder) >> > >> > DRM_DEBUG_KMS("\n"); >> > >> > + intel_dsi_prepare(encoder); >> > + intel_enable_dsi_pll(encoder); >> > + >> > /* Panel Enable over CRC PMIC */ >> > if (intel_dsi->gpio_panel) >> > gpiod_set_value_cansleep(intel_dsi->gpio_panel, 1); >> > @@ -1026,15 +1031,6 @@ static void intel_dsi_prepare(struct intel_encoder *intel_encoder) >> > } >> > } >> > >> > -static void intel_dsi_pre_pll_enable(struct intel_encoder *encoder) >> > -{ >> > - DRM_DEBUG_KMS("\n"); >> > - >> > - intel_dsi_prepare(encoder); >> > - intel_enable_dsi_pll(encoder); >> > - >> > -} >> > - >> > static enum drm_connector_status >> > intel_dsi_detect(struct drm_connector *connector, bool force) >> > { >> > @@ -1154,9 +1150,7 @@ void intel_dsi_init(struct drm_device *dev) >> > >> > drm_encoder_init(dev, encoder, &intel_dsi_funcs, DRM_MODE_ENCODER_DSI); >> > >> > - /* XXX: very likely not all of these are needed */ >> > intel_encoder->compute_config = intel_dsi_compute_config; >> > - intel_encoder->pre_pll_enable = intel_dsi_pre_pll_enable; >> > intel_encoder->pre_enable = intel_dsi_pre_enable; >> > intel_encoder->enable = intel_dsi_enable_nop; >> > intel_encoder->disable = intel_dsi_pre_disable; >> > -- >> > 2.1.4 >> > >> > _______________________________________________ >> > Intel-gfx mailing list >> > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx >> >> -- >> Ville Syrjälä >> Intel OTC >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx