[Intel-gfx] [PATCH 2/2] drm/i915: Enable the PCH PLL for all generations after link training

Jesse Barnes jbarnes at virtuousgeek.org
Mon May 14 17:12:13 CEST 2012


On Sun, 13 May 2012 09:54:09 +0100
Chris Wilson <chris at chris-wilson.co.uk> wrote:

> Hidden away within one chipset specific path was the necessary logic to
> turn on the PLL. This needs to be done everywhere in order for us to
> drive any display! As such as soon as we tested on a non-CougarPoint
> chipset, we failed to bring up any DisplayPorts and generated a nice set
> of assertion failures in the process. At least one part of our logic is
> working, the part that assumes that we have no idea what we are doing.
> 
> Reported-by: guang.a.yang at intel.com
> References: https://bugs.freedesktop.org/show_bug.cgi?id=49712
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Jesse Barnes <jbarnes at virtuousgeek.org>
> ---
>  drivers/gpu/drm/i915/intel_display.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a679a9a..d0112ec 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2887,14 +2887,14 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
>  	/* For PCH output, training FDI link */
>  	dev_priv->display.fdi_link_train(crtc);
>  
> +	intel_enable_pch_pll(intel_crtc);
> +
>  	if (HAS_PCH_LPT(dev)) {
>  		DRM_DEBUG_KMS("LPT detected: programming iCLKIP\n");
>  		lpt_program_iclkip(crtc);
>  	} else if (HAS_PCH_CPT(dev)) {
>  		u32 sel;
>  
> -		intel_enable_pch_pll(intel_crtc);
> -
>  		temp = I915_READ(PCH_DPLL_SEL);
>  		switch (pipe) {
>  		default:

Thanks Chris.  Only thing I'm not sure about is the LPT bit; does this
function do what we want there?

Other than that:

Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org>

Thanks,
-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list