drm/i915/cnp+: update to the new RAWCLK_FREQ recommendations
authorPaulo Zanoni <[email protected]>
Mon, 12 Nov 2018 23:23:11 +0000 (15:23 -0800)
committerPaulo Zanoni <[email protected]>
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ä <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Reviewed-by: Ville Syrjälä <[email protected]>
Signed-off-by: Paulo Zanoni <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
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;
        }