diff options
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_suspend.c | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index 449650545bb4..5004724ea57e 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -383,6 +383,7 @@ typedef struct drm_i915_private { | |||
383 | u32 saveDSPACNTR; | 383 | u32 saveDSPACNTR; |
384 | u32 saveDSPBCNTR; | 384 | u32 saveDSPBCNTR; |
385 | u32 saveDSPARB; | 385 | u32 saveDSPARB; |
386 | u32 saveHWS; | ||
386 | u32 savePIPEACONF; | 387 | u32 savePIPEACONF; |
387 | u32 savePIPEBCONF; | 388 | u32 savePIPEBCONF; |
388 | u32 savePIPEASRC; | 389 | u32 savePIPEASRC; |
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c index 7e992a8e9098..da474153a0a2 100644 --- a/drivers/gpu/drm/i915/i915_suspend.c +++ b/drivers/gpu/drm/i915/i915_suspend.c | |||
@@ -796,6 +796,9 @@ int i915_save_state(struct drm_device *dev) | |||
796 | 796 | ||
797 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); | 797 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); |
798 | 798 | ||
799 | /* Hardware status page */ | ||
800 | dev_priv->saveHWS = I915_READ(HWS_PGA); | ||
801 | |||
799 | i915_save_display(dev); | 802 | i915_save_display(dev); |
800 | 803 | ||
801 | /* Interrupt state */ | 804 | /* Interrupt state */ |
@@ -842,6 +845,9 @@ int i915_restore_state(struct drm_device *dev) | |||
842 | 845 | ||
843 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); | 846 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); |
844 | 847 | ||
848 | /* Hardware status page */ | ||
849 | I915_WRITE(HWS_PGA, dev_priv->saveHWS); | ||
850 | |||
845 | i915_restore_display(dev); | 851 | i915_restore_display(dev); |
846 | 852 | ||
847 | /* Interrupt state */ | 853 | /* Interrupt state */ |