[Intel-gfx] [PATCH] drm/i915: fix VDD enabling and runtime PM refcount

Daniel Vetter daniel at ffwll.ch
Wed Dec 11 23:34:01 CET 2013


On Wed, Dec 11, 2013 at 11:32:00PM +0100, Daniel Vetter wrote:
> On Wed, Dec 11, 2013 at 08:11:14PM -0200, Paulo Zanoni wrote:
> > From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > 
> > Initially the VDD patches were on top of the runtime PM patches, so
> > they contained the intel_runtime_pm_put() call that this patch adds.
> > But I was asked to send a version of the VDD series that was not on
> > top of the runtime PM series, so I sent it. The problem is that
> > runtime PM got merged, then the "VDD not on top of runtime PM" got
> > merged without being fixed.
> > 
> > I can't explain why the ironlake_edp_panel_vdd_on() call did not get
> > merged with the rest of the patch. That's just weird.
> > 
> > Both chunks should have been part of:
> >     commit c26fe8e5eb34c18aa9ab60fcf4c3150663a52306
> >     Author: Paulo Zanoni <paulo.r.zanoni at intel.com>
> >     Date:   Fri Dec 6 17:32:41 2013 -0200
> >         drm/i915: don't touch the VDD when disabling the panel
> > 
> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_ddi.c | 1 -
> >  drivers/gpu/drm/i915/intel_dp.c  | 3 ---
> >  2 files changed, 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > index 3a14d99..172130a 100644
> > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > @@ -1164,7 +1164,6 @@ static void intel_ddi_post_disable(struct intel_encoder *intel_encoder)
> >  
> >  	if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) {
> >  		struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> > -		ironlake_edp_panel_vdd_on(intel_dp);
> 
> That part isn't really in -nightly nor in dinq in my trees here. Or I'm
> horribly confused ... What's going on here?

Correction, it's there. No idea what went wrong there, but the patch I've
merged ended up with a spurious hunk in pre_enable. I'll fix this up in
the tree.
-Daniel

> -Daniel
> 
> >  		intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF);
> >  		ironlake_edp_panel_off(intel_dp);
> >  	}
> > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> > index 88ad417..9b40113 100644
> > --- a/drivers/gpu/drm/i915/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > @@ -1252,9 +1252,6 @@ void ironlake_edp_panel_off(struct intel_dp *intel_dp)
> >  	POSTING_READ(pp_ctrl_reg);
> >  
> >  	ironlake_wait_panel_off(intel_dp);
> > -
> > -	/* We got a reference when we enabled the VDD. */
> > -	intel_runtime_pm_put(dev_priv);
> >  }
> >  
> >  void ironlake_edp_backlight_on(struct intel_dp *intel_dp)
> > -- 
> > 1.8.3.1
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list