diff options
-rw-r--r-- | drivers/gpu/drm/i915/intel_pm.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c index 39f3238bf1c3..dd3a1216eab0 100644 --- a/drivers/gpu/drm/i915/intel_pm.c +++ b/drivers/gpu/drm/i915/intel_pm.c | |||
@@ -3326,7 +3326,7 @@ static void gen6_enable_rps(struct drm_device *dev) | |||
3326 | struct intel_ring_buffer *ring; | 3326 | struct intel_ring_buffer *ring; |
3327 | u32 rp_state_cap, hw_max, hw_min; | 3327 | u32 rp_state_cap, hw_max, hw_min; |
3328 | u32 gt_perf_status; | 3328 | u32 gt_perf_status; |
3329 | u32 rc6vids, pcu_mbox, rc6_mask = 0; | 3329 | u32 rc6vids, pcu_mbox = 0, rc6_mask = 0; |
3330 | u32 gtfifodbg; | 3330 | u32 gtfifodbg; |
3331 | int rc6_mode; | 3331 | int rc6_mode; |
3332 | int i, ret; | 3332 | int i, ret; |
@@ -3414,17 +3414,15 @@ static void gen6_enable_rps(struct drm_device *dev) | |||
3414 | I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10); | 3414 | I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10); |
3415 | 3415 | ||
3416 | ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0); | 3416 | ret = sandybridge_pcode_write(dev_priv, GEN6_PCODE_WRITE_MIN_FREQ_TABLE, 0); |
3417 | if (!ret) { | 3417 | if (ret) |
3418 | pcu_mbox = 0; | ||
3419 | ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); | ||
3420 | if (!ret && (pcu_mbox & (1<<31))) { /* OC supported */ | ||
3421 | DRM_DEBUG_DRIVER("Overclocking supported. Max: %dMHz, Overclock max: %dMHz\n", | ||
3422 | (dev_priv->rps.max_delay & 0xff) * 50, | ||
3423 | (pcu_mbox & 0xff) * 50); | ||
3424 | dev_priv->rps.hw_max = pcu_mbox & 0xff; | ||
3425 | } | ||
3426 | } else { | ||
3427 | DRM_DEBUG_DRIVER("Failed to set the min frequency\n"); | 3418 | DRM_DEBUG_DRIVER("Failed to set the min frequency\n"); |
3419 | |||
3420 | ret = sandybridge_pcode_read(dev_priv, GEN6_READ_OC_PARAMS, &pcu_mbox); | ||
3421 | if (!ret && (pcu_mbox & (1<<31))) { /* OC supported */ | ||
3422 | DRM_DEBUG_DRIVER("Overclocking supported. Max: %dMHz, Overclock max: %dMHz\n", | ||
3423 | (dev_priv->rps.max_delay & 0xff) * 50, | ||
3424 | (pcu_mbox & 0xff) * 50); | ||
3425 | dev_priv->rps.hw_max = pcu_mbox & 0xff; | ||
3428 | } | 3426 | } |
3429 | 3427 | ||
3430 | dev_priv->rps.power = HIGH_POWER; /* force a reset */ | 3428 | dev_priv->rps.power = HIGH_POWER; /* force a reset */ |