aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/i915_drv.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-02-16 22:19:29 -0500
committerDave Airlie <airlied@redhat.com>2008-02-19 18:43:43 -0500
commit1f84e550a870bf5f5f399b611db68f3324ea7883 (patch)
treea8f27ad77bcce1f27c22545bafb7e26bcbb3c03d /drivers/char/drm/i915_drv.h
parentc0c4261b6fd80f0fc5546ed67058592469a4f5b7 (diff)
drm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)
Failing to preserve the MI_ARB_STATE register was causing FIFO underruns on the VGA output on my HP 2510p after resume. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/char/drm/i915_drv.h')
-rw-r--r--drivers/char/drm/i915_drv.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/char/drm/i915_drv.h b/drivers/char/drm/i915_drv.h
index 360f6600427b..c10d128e34db 100644
--- a/drivers/char/drm/i915_drv.h
+++ b/drivers/char/drm/i915_drv.h
@@ -187,6 +187,9 @@ typedef struct drm_i915_private {
187 u32 saveIER; 187 u32 saveIER;
188 u32 saveIIR; 188 u32 saveIIR;
189 u32 saveIMR; 189 u32 saveIMR;
190 u32 saveCACHE_MODE_0;
191 u32 saveDSPCLK_GATE_D;
192 u32 saveMI_ARB_STATE;
190 u32 saveSWF0[16]; 193 u32 saveSWF0[16];
191 u32 saveSWF1[16]; 194 u32 saveSWF1[16];
192 u32 saveSWF2[3]; 195 u32 saveSWF2[3];
@@ -455,6 +458,10 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
455 */ 458 */
456#define DMA_FADD_S 0x20d4 459#define DMA_FADD_S 0x20d4
457 460
461/* Memory Interface Arbitration State
462 */
463#define MI_ARB_STATE 0x20e4
464
458/* Cache mode 0 reg. 465/* Cache mode 0 reg.
459 * - Manipulating render cache behaviour is central 466 * - Manipulating render cache behaviour is central
460 * to the concept of zone rendering, tuning this reg can help avoid 467 * to the concept of zone rendering, tuning this reg can help avoid
@@ -465,6 +472,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
465 * bit of interest either set or cleared. EG: (BIT<<16) | BIT to set. 472 * bit of interest either set or cleared. EG: (BIT<<16) | BIT to set.
466 */ 473 */
467#define Cache_Mode_0 0x2120 474#define Cache_Mode_0 0x2120
475#define CACHE_MODE_0 0x2120
468#define CM0_MASK_SHIFT 16 476#define CM0_MASK_SHIFT 16
469#define CM0_IZ_OPT_DISABLE (1<<6) 477#define CM0_IZ_OPT_DISABLE (1<<6)
470#define CM0_ZR_OPT_DISABLE (1<<5) 478#define CM0_ZR_OPT_DISABLE (1<<5)
@@ -660,6 +668,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
660/** P1 value is 2 greater than this field */ 668/** P1 value is 2 greater than this field */
661# define VGA0_PD_P1_MASK (0x1f << 0) 669# define VGA0_PD_P1_MASK (0x1f << 0)
662 670
671#define DSPCLK_GATE_D 0x6200
672
663/* I830 CRTC registers */ 673/* I830 CRTC registers */
664#define HTOTAL_A 0x60000 674#define HTOTAL_A 0x60000
665#define HBLANK_A 0x60004 675#define HBLANK_A 0x60004