[Intel-gfx] [PATCH v3] drm/i915/skl: Deinit/init the display at suspend/resume

Damien Lespiau damien.lespiau at intel.com
Thu May 21 08:49:40 PDT 2015


On Thu, May 21, 2015 at 06:44:53PM +0300, Ville Syrjälä wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > index d602db2..cacb07b 100644
> > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > @@ -2510,6 +2510,7 @@ void intel_ddi_pll_init(struct drm_device *dev)
> >  {
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  	uint32_t val = I915_READ(LCPLL_CTL);
> > +	int cdclk_freq;
> >  
> >  	if (IS_SKYLAKE(dev))
> >  		skl_shared_dplls_init(dev_priv);
> > @@ -2518,12 +2519,15 @@ void intel_ddi_pll_init(struct drm_device *dev)
> >  	else
> >  		hsw_shared_dplls_init(dev_priv);
> >  
> > -	DRM_DEBUG_KMS("CDCLK running at %dKHz\n",
> > -		      dev_priv->display.get_display_clock_speed(dev));
> > +	cdclk_freq = dev_priv->display.get_display_clock_speed(dev);
> > +	DRM_DEBUG_KMS("CDCLK running at %dKHz\n", cdclk_freq);
> >  
> >  	if (IS_SKYLAKE(dev)) {
> > +		dev_priv->skl_boot_cdclk = cdclk_freq;
> >  		if (!(I915_READ(LCPLL1_CTL) & LCPLL_PLL_ENABLE))
> >  			DRM_ERROR("LCPLL1 is disabled\n");
> > +		else
> > +			intel_display_power_get(dev_priv, POWER_DOMAIN_PLLS);
> 
> Hmm, actually are we not calling the skl_init_cdclk() on boot at all? I see
> it only in the resume path.

Yes that's correct, we always have display intialized by the firmware on
big core as far as I know (which may not be true for BXT).

-- 
Damien


More information about the Intel-gfx mailing list