Commit a2c459ee authored by Zhao Yakui's avatar Zhao Yakui Committed by Eric Anholt

drm/i915: Only save/restore FBC on the platform that supports FBC

Signed-off-by: default avatarZhao Yakui <yakui.zhao@intel.com>
Signed-off-by: default avatarZhenyu Wang <zhenyuw@linux.intel.com>
parent 8a1837ce
...@@ -600,7 +600,8 @@ void i915_save_display(struct drm_device *dev) ...@@ -600,7 +600,8 @@ void i915_save_display(struct drm_device *dev)
} }
/* FIXME: save TV & SDVO state */ /* FIXME: save TV & SDVO state */
/* FBC state */ /* Only save FBC state on the platform that supports FBC */
if (I915_HAS_FBC(dev)) {
if (IS_GM45(dev)) { if (IS_GM45(dev)) {
dev_priv->saveDPFC_CB_BASE = I915_READ(DPFC_CB_BASE); dev_priv->saveDPFC_CB_BASE = I915_READ(DPFC_CB_BASE);
} else { } else {
...@@ -609,6 +610,7 @@ void i915_save_display(struct drm_device *dev) ...@@ -609,6 +610,7 @@ void i915_save_display(struct drm_device *dev)
dev_priv->saveFBC_CONTROL2 = I915_READ(FBC_CONTROL2); dev_priv->saveFBC_CONTROL2 = I915_READ(FBC_CONTROL2);
dev_priv->saveFBC_CONTROL = I915_READ(FBC_CONTROL); dev_priv->saveFBC_CONTROL = I915_READ(FBC_CONTROL);
} }
}
/* VGA state */ /* VGA state */
dev_priv->saveVGA0 = I915_READ(VGA0); dev_priv->saveVGA0 = I915_READ(VGA0);
...@@ -702,7 +704,8 @@ void i915_restore_display(struct drm_device *dev) ...@@ -702,7 +704,8 @@ void i915_restore_display(struct drm_device *dev)
} }
/* FIXME: restore TV & SDVO state */ /* FIXME: restore TV & SDVO state */
/* FBC info */ /* only restore FBC info on the platform that supports FBC*/
if (I915_HAS_FBC(dev)) {
if (IS_GM45(dev)) { if (IS_GM45(dev)) {
g4x_disable_fbc(dev); g4x_disable_fbc(dev);
I915_WRITE(DPFC_CB_BASE, dev_priv->saveDPFC_CB_BASE); I915_WRITE(DPFC_CB_BASE, dev_priv->saveDPFC_CB_BASE);
...@@ -713,7 +716,7 @@ void i915_restore_display(struct drm_device *dev) ...@@ -713,7 +716,7 @@ void i915_restore_display(struct drm_device *dev)
I915_WRITE(FBC_CONTROL2, dev_priv->saveFBC_CONTROL2); I915_WRITE(FBC_CONTROL2, dev_priv->saveFBC_CONTROL2);
I915_WRITE(FBC_CONTROL, dev_priv->saveFBC_CONTROL); I915_WRITE(FBC_CONTROL, dev_priv->saveFBC_CONTROL);
} }
}
/* VGA state */ /* VGA state */
if (IS_IRONLAKE(dev)) if (IS_IRONLAKE(dev))
I915_WRITE(CPU_VGACNTRL, dev_priv->saveVGACNTRL); I915_WRITE(CPU_VGACNTRL, dev_priv->saveVGACNTRL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment