On Thu, Jul 31, 2014 at 02:03:36PM +0300, Imre Deak wrote: > Just like during booting the BIOS can leave the VDD bit enabled after > system resume. So apply the same state sanitization there too. This > fixes a problem where after resume the port power domain refcount gets > unbalanced. > > v2: > - unchanged > v3: > - call edp sanitizing from the encoder reset handler (Daniel) It happens a bit earlier than with the earlier attempt, but if it works it works. Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Reported-and-tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> > Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_dp.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 71294b5..8741439 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -4002,6 +4002,11 @@ void intel_dp_encoder_destroy(struct drm_encoder *encoder) > kfree(intel_dig_port); > } > > +static void intel_dp_encoder_reset(struct drm_encoder *encoder) > +{ > + intel_edp_panel_vdd_sanitize(to_intel_encoder(encoder)); > +} > + > static const struct drm_connector_funcs intel_dp_connector_funcs = { > .dpms = intel_connector_dpms, > .detect = intel_dp_detect, > @@ -4017,6 +4022,7 @@ static const struct drm_connector_helper_funcs intel_dp_connector_helper_funcs = > }; > > static const struct drm_encoder_funcs intel_dp_enc_funcs = { > + .reset = intel_dp_encoder_reset, > .destroy = intel_dp_encoder_destroy, > }; > > -- > 1.8.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