diff options
| -rw-r--r-- | linux-core/i915_drv.c | 7 | ||||
| -rw-r--r-- | shared-core/i915_drv.h | 5 | 
2 files changed, 12 insertions, 0 deletions
| diff --git a/linux-core/i915_drv.c b/linux-core/i915_drv.c index ccc061d3..c771ab3e 100644 --- a/linux-core/i915_drv.c +++ b/linux-core/i915_drv.c @@ -303,6 +303,7 @@ static int i915_suspend(struct drm_device *dev)  		dev_priv->saveDSPATILEOFF = I915_READ(DSPATILEOFF);  	}  	i915_save_palette(dev, PIPE_A); +	dev_priv->savePIPEASTAT = I915_READ(I915REG_PIPEASTAT);  	/* Pipe & plane B info */  	dev_priv->savePIPEBCONF = I915_READ(PIPEBCONF); @@ -330,6 +331,7 @@ static int i915_suspend(struct drm_device *dev)  		dev_priv->saveDSPBTILEOFF = I915_READ(DSPBTILEOFF);  	}  	i915_save_palette(dev, PIPE_B); +	dev_priv->savePIPEBSTAT = I915_READ(I915REG_PIPEBSTAT);  	/* CRT state */  	dev_priv->saveADPA = I915_READ(ADPA); @@ -356,6 +358,11 @@ static int i915_suspend(struct drm_device *dev)  	dev_priv->saveFBC_CONTROL2 = I915_READ(FBC_CONTROL2);  	dev_priv->saveFBC_CONTROL = I915_READ(FBC_CONTROL); +	/* Interrupt state */ +	dev_priv->saveIIR = I915_READ(I915REG_INT_IDENTITY_R); +	dev_priv->saveIER = I915_READ(I915REG_INT_ENABLE_R); +	dev_priv->saveIMR = I915_READ(I915REG_INT_MASK_R); +  	/* VGA state */  	dev_priv->saveVCLK_DIVISOR_VGA0 = I915_READ(VCLK_DIVISOR_VGA0);  	dev_priv->saveVCLK_DIVISOR_VGA1 = I915_READ(VCLK_DIVISOR_VGA1); diff --git a/shared-core/i915_drv.h b/shared-core/i915_drv.h index 87594670..d2faee29 100644 --- a/shared-core/i915_drv.h +++ b/shared-core/i915_drv.h @@ -166,6 +166,7 @@ typedef struct drm_i915_private {  	u32 saveVBLANK_A;  	u32 saveVSYNC_A;  	u32 saveBCLRPAT_A; +	u32 savePIPEASTAT;  	u32 saveDSPASTRIDE;  	u32 saveDSPASIZE;  	u32 saveDSPAPOS; @@ -186,6 +187,7 @@ typedef struct drm_i915_private {  	u32 saveVBLANK_B;  	u32 saveVSYNC_B;  	u32 saveBCLRPAT_B; +	u32 savePIPEBSTAT;  	u32 saveDSPBSTRIDE;  	u32 saveDSPBSIZE;  	u32 saveDSPBPOS; @@ -214,6 +216,9 @@ typedef struct drm_i915_private {  	u32 saveFBC_LL_BASE;  	u32 saveFBC_CONTROL;  	u32 saveFBC_CONTROL2; +	u32 saveIER; +	u32 saveIIR; +	u32 saveIMR;  	u32 saveSWF0[16];  	u32 saveSWF1[16];  	u32 saveSWF2[3]; | 
