diff options
author | Keith Packard <keithp@keithp.com> | 2008-02-16 22:19:29 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2008-02-19 18:43:43 -0500 |
commit | 1f84e550a870bf5f5f399b611db68f3324ea7883 (patch) | |
tree | a8f27ad77bcce1f27c22545bafb7e26bcbb3c03d /drivers/char/drm/i915_drv.h | |
parent | c0c4261b6fd80f0fc5546ed67058592469a4f5b7 (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.h | 10 |
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 |