[Intel-gfx] [PATCH 12/24] drm/i915: add LPT PCH checks

Jesse Barnes jbarnes at virtuousgeek.org
Tue May 1 02:06:36 CEST 2012


On Thu, 26 Apr 2012 15:21:07 -0300
Eugeni Dodonov <eugeni.dodonov at intel.com> wrote:

> Avoid bogus asserts on Lynx Point.
> 
> Signed-off-by: Eugeni Dodonov <eugeni.dodonov at intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c |   10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 8308da0..ca0edbf 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -917,6 +917,11 @@ static void assert_pch_pll(struct drm_i915_private *dev_priv,
>  	u32 val;
>  	bool cur_state;
>  
> +	if (HAS_PCH_LPT(dev_priv->dev)) {
> +		DRM_DEBUG_DRIVER("LPT detected: skipping PCH PLL test\n");
> +		return;
> +	}
> +
>  	if (!intel_crtc->pch_pll) {
>  		WARN(1, "asserting PCH PLL enabled with no PLL\n");
>  		return;
> @@ -1102,6 +1107,11 @@ static void assert_pch_refclk_enabled(struct drm_i915_private *dev_priv)
>  	u32 val;
>  	bool enabled;
>  
> +	if (HAS_PCH_LPT(dev_priv->dev)) {
> +		DRM_DEBUG_DRIVER("LPT does not has PCH refclk, skipping check\n");
> +		return;
> +	}
> +
>  	val = I915_READ(PCH_DREF_CONTROL);
>  	enabled = !!(val & (DREF_SSC_SOURCE_MASK | DREF_NONSPREAD_SOURCE_MASK |
>  			    DREF_SUPERSPREAD_SOURCE_MASK));

Hm this makes me think we might want separate crtc enable/disable
functions for HSW instead, when combined with a couple of the other
checks.

Up to you...

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list