[Intel-gfx] [PATCH 1/2] drm/i915: Use the software DRRS to select the alternative frequency for LVDS

Eric Anholt eric at anholt.net
Wed Dec 2 17:31:32 CET 2009


On Thu, 5 Nov 2009 08:26:53 -0800, Jesse Barnes <jbarnes at virtuousgeek.org> wrote:
> On Thu,  5 Nov 2009 11:27:16 +0800
> yakui.zhao at intel.com wrote:
> 
> > @@ -3047,20 +3047,20 @@ static int intel_crtc_mode_set(struct
> > drm_crtc *crtc, udelay(150);
> >  	}
> >  
> > +	/*
> > +	 * According to the spec We can select between two
> > alternative
> > +	 * frequency by using DRRS bit only when the CxSR bit in
> > PIPECONF
> > +	 * register is zero. So it will clear the CxSR bit of
> > PIPECONF
> > +	 * register.
> > +	 */
> >  	if (is_lvds && has_reduced_clock && i915_powersave) {
> >  		I915_WRITE(fp_reg + 4, fp2);
> >  		intel_crtc->lowfreq_avail = true;
> > -		if (HAS_PIPE_CXSR(dev)) {
> > -			DRM_DEBUG_KMS("enabling CxSR
> > downclocking\n");
> > -			pipeconf |= PIPECONF_CXSR_DOWNCLOCK;
> > -		}
> > +		pipeconf &= ~PIPECONF_CXSR_DOWNCLOCK;
> >  	} else {
> >  		I915_WRITE(fp_reg + 4, fp);
> >  		intel_crtc->lowfreq_avail = false;
> > -		if (HAS_PIPE_CXSR(dev)) {
> > -			DRM_DEBUG_KMS("disabling CxSR
> > downclocking\n");
> > -			pipeconf &= ~PIPECONF_CXSR_DOWNCLOCK;
> > -		}
> > +		pipeconf &= ~PIPECONF_CXSR_DOWNCLOCK;
> >  	}
> >  
> >  	I915_WRITE(htot_reg, (adjusted_mode->crtc_hdisplay - 1) |
> > @@ -3750,7 +3750,7 @@ static void intel_increase_pllclock(struct
> > drm_crtc *crtc, bool schedule) if (!dev_priv->lvds_downclock_avail)
> >  		return;
> >  
> > -	if (!HAS_PIPE_CXSR(dev) && (dpll &
> > DISPLAY_RATE_SELECT_FPA1)) {
> > +	if (HAS_PIPE_CXSR(dev) && (dpll & DISPLAY_RATE_SELECT_FPA1))
> > { DRM_DEBUG_DRIVER("upclocking LVDS\n");
> 
> Don't we want to use the automatic C-state based downclock if
> possible?  That's the idea behind the manual clocking (in
> increase/decrease_pllclock) and the automatic clocking bit in the
> pipeconf register at least.  Did you test that and find it to be buggy
> or something?

Any response?



More information about the Intel-gfx mailing list