OSDN Git Service

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 8d74276..8106709 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;
        }