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? 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 -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx