diff mbox

drm/i915: fix HDMI clock readout on Haswell

Message ID 1390423166-27720-1-git-send-email-przanoni@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Paulo Zanoni Jan. 22, 2014, 8:39 p.m. UTC
From: Paulo Zanoni <paulo.r.zanoni@intel.com>

This stops the WARNs when booting with an HDMI monitor connected.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jesse Barnes Jan. 22, 2014, 8:52 p.m. UTC | #1
On Wed, 22 Jan 2014 18:39:26 -0200
Paulo Zanoni <przanoni@gmail.com> wrote:

> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
> 
> This stops the WARNs when booting with an HDMI monitor connected.
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index fe2967e..cb6a65e 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -663,7 +663,7 @@ static int intel_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
>  	p = (wrpll & WRPLL_DIVIDER_POST_MASK) >> WRPLL_DIVIDER_POST_SHIFT;
>  	n = (wrpll & WRPLL_DIVIDER_FB_MASK) >> WRPLL_DIVIDER_FB_SHIFT;
>  
> -	return (LC_FREQ * n) / (p * r);
> +	return ((LC_FREQ * n) * 100) / (p * r);
>  }
>  
>  static void intel_ddi_clock_get(struct intel_encoder *encoder,

Yep, looks like units fail.  And I failed to replace LC_FREQ with
refclk when I added the WRPLL refclk fetching... I'll post an updated
patch with both fixed.

Thanks,
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index fe2967e..cb6a65e 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -663,7 +663,7 @@  static int intel_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 	p = (wrpll & WRPLL_DIVIDER_POST_MASK) >> WRPLL_DIVIDER_POST_SHIFT;
 	n = (wrpll & WRPLL_DIVIDER_FB_MASK) >> WRPLL_DIVIDER_FB_SHIFT;
 
-	return (LC_FREQ * n) / (p * r);
+	return ((LC_FREQ * n) * 100) / (p * r);
 }
 
 static void intel_ddi_clock_get(struct intel_encoder *encoder,