diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_suspend.c | 8 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index be910d249ea1..63bcda5541ec 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -924,6 +924,7 @@ struct i915_suspend_saved_registers { | |||
924 | u32 savePIPEB_LINK_N1; | 924 | u32 savePIPEB_LINK_N1; |
925 | u32 saveMCHBAR_RENDER_STANDBY; | 925 | u32 saveMCHBAR_RENDER_STANDBY; |
926 | u32 savePCH_PORT_HOTPLUG; | 926 | u32 savePCH_PORT_HOTPLUG; |
927 | u16 saveGCDGMBUS; | ||
927 | }; | 928 | }; |
928 | 929 | ||
929 | struct vlv_s0ix_state { | 930 | struct vlv_s0ix_state { |
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index b607bbe55261..eefdc238f70b 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -85,6 +85,7 @@ | |||
85 | #define I915_GC_RENDER_CLOCK_166_MHZ (0 << 0) | 85 | #define I915_GC_RENDER_CLOCK_166_MHZ (0 << 0) |
86 | #define I915_GC_RENDER_CLOCK_200_MHZ (1 << 0) | 86 | #define I915_GC_RENDER_CLOCK_200_MHZ (1 << 0) |
87 | #define I915_GC_RENDER_CLOCK_333_MHZ (4 << 0) | 87 | #define I915_GC_RENDER_CLOCK_333_MHZ (4 << 0) |
88 | #define GCDGMBUS 0xcc | ||
88 | #define PCI_LBPC 0xf4 /* legacy/combination backlight modes, also called LBB */ | 89 | #define PCI_LBPC 0xf4 /* legacy/combination backlight modes, also called LBB */ |
89 | 90 | ||
90 | 91 | ||
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c index dfe661743398..26368822a33f 100644 --- a/drivers/gpu/drm/i915/i915_suspend.c +++ b/drivers/gpu/drm/i915/i915_suspend.c | |||
@@ -303,6 +303,10 @@ int i915_save_state(struct drm_device *dev) | |||
303 | } | 303 | } |
304 | } | 304 | } |
305 | 305 | ||
306 | if (IS_GEN4(dev)) | ||
307 | pci_read_config_word(dev->pdev, GCDGMBUS, | ||
308 | &dev_priv->regfile.saveGCDGMBUS); | ||
309 | |||
306 | /* Cache mode state */ | 310 | /* Cache mode state */ |
307 | if (INTEL_INFO(dev)->gen < 7) | 311 | if (INTEL_INFO(dev)->gen < 7) |
308 | dev_priv->regfile.saveCACHE_MODE_0 = I915_READ(CACHE_MODE_0); | 312 | dev_priv->regfile.saveCACHE_MODE_0 = I915_READ(CACHE_MODE_0); |
@@ -331,6 +335,10 @@ int i915_restore_state(struct drm_device *dev) | |||
331 | mutex_lock(&dev->struct_mutex); | 335 | mutex_lock(&dev->struct_mutex); |
332 | 336 | ||
333 | i915_gem_restore_fences(dev); | 337 | i915_gem_restore_fences(dev); |
338 | |||
339 | if (IS_GEN4(dev)) | ||
340 | pci_write_config_word(dev->pdev, GCDGMBUS, | ||
341 | dev_priv->regfile.saveGCDGMBUS); | ||
334 | i915_restore_display(dev); | 342 | i915_restore_display(dev); |
335 | 343 | ||
336 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) { | 344 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) { |