|
@@ -3685,6 +3685,17 @@ void intel_init_pm(struct drm_device *dev)
|
|
|
}
|
|
|
dev_priv->display.init_clock_gating = ivybridge_init_clock_gating;
|
|
|
dev_priv->display.sanitize_pm = gen6_sanitize_pm;
|
|
|
+ } else if (IS_HASWELL(dev)) {
|
|
|
+ if (SNB_READ_WM0_LATENCY()) {
|
|
|
+ dev_priv->display.update_wm = sandybridge_update_wm;
|
|
|
+ dev_priv->display.update_sprite_wm = sandybridge_update_sprite_wm;
|
|
|
+ } else {
|
|
|
+ DRM_DEBUG_KMS("Failed to read display plane latency. "
|
|
|
+ "Disable CxSR\n");
|
|
|
+ dev_priv->display.update_wm = NULL;
|
|
|
+ }
|
|
|
+ dev_priv->display.init_clock_gating = ivybridge_init_clock_gating;
|
|
|
+ dev_priv->display.sanitize_pm = gen6_sanitize_pm;
|
|
|
} else
|
|
|
dev_priv->display.update_wm = NULL;
|
|
|
} else if (IS_VALLEYVIEW(dev)) {
|