|
@@ -4181,6 +4181,13 @@ static void gen6_init_rps_frequencies(struct drm_device *dev)
|
|
|
dev_priv->rps.rp0_freq = (rp_state_cap >> 0) & 0xff;
|
|
|
dev_priv->rps.rp1_freq = (rp_state_cap >> 8) & 0xff;
|
|
|
dev_priv->rps.min_freq = (rp_state_cap >> 16) & 0xff;
|
|
|
+ if (IS_SKYLAKE(dev)) {
|
|
|
+ /* Store the frequency values in 16.66 MHZ units, which is
|
|
|
+ the natural hardware unit for SKL */
|
|
|
+ dev_priv->rps.rp0_freq *= GEN9_FREQ_SCALER;
|
|
|
+ dev_priv->rps.rp1_freq *= GEN9_FREQ_SCALER;
|
|
|
+ dev_priv->rps.min_freq *= GEN9_FREQ_SCALER;
|
|
|
+ }
|
|
|
/* hw_max = RP0 until we check for overclocking */
|
|
|
dev_priv->rps.max_freq = dev_priv->rps.rp0_freq;
|
|
|
|