drm/i915/cnp+: update to the new RAWCLK_FREQ recommendations
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Mon, 12 Nov 2018 23:23:11 +0000 (15:23 -0800)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Wed, 14 Nov 2018 00:31:10 +0000 (16:31 -0800)
BSpec was updated and now there's no more "subtract 1" to the
Microsecond Counter Divider field.

It seems this should help fixing some GMBUS issues. I'm not aware of
any specific open bug that could be solved by this patch.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181112232313.26373-1-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/intel_cdclk.c

index 8d74276029e621f9ae7e6db54c815be5d2d0c9d1..810670976e8684f567f9965901ae9ae48e104b43 100644 (file)
@@ -2660,7 +2660,7 @@ static int cnp_rawclk(struct drm_i915_private *dev_priv)
                fraction = 200;
        }
 
-       rawclk = CNP_RAWCLK_DIV((divider / 1000) - 1);
+       rawclk = CNP_RAWCLK_DIV(divider / 1000);
        if (fraction)
                rawclk |= CNP_RAWCLK_FRAC(DIV_ROUND_CLOSEST(1000,
                                                            fraction) - 1);
@@ -2676,12 +2676,12 @@ static int icp_rawclk(struct drm_i915_private *dev_priv)
 
        if (I915_READ(SFUSE_STRAP) & SFUSE_STRAP_RAW_FREQUENCY) {
                frequency = 24000;
-               divider = 23;
+               divider = 24;
                numerator = 0;
                denominator = 0;
        } else {
                frequency = 19200;
-               divider = 18;
+               divider = 19;
                numerator = 1;
                denominator = 4;
        }