aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h143
1 files changed, 139 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 2955083aa471..e38cd21161c8 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -55,7 +55,7 @@
55/* PCI config space */ 55/* PCI config space */
56 56
57#define HPLLCC 0xc0 /* 855 only */ 57#define HPLLCC 0xc0 /* 855 only */
58#define GC_CLOCK_CONTROL_MASK (3 << 0) 58#define GC_CLOCK_CONTROL_MASK (0xf << 0)
59#define GC_CLOCK_133_200 (0 << 0) 59#define GC_CLOCK_133_200 (0 << 0)
60#define GC_CLOCK_100_200 (1 << 0) 60#define GC_CLOCK_100_200 (1 << 0)
61#define GC_CLOCK_100_133 (2 << 0) 61#define GC_CLOCK_100_133 (2 << 0)
@@ -65,6 +65,25 @@
65#define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4) 65#define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4)
66#define GC_DISPLAY_CLOCK_333_MHZ (4 << 4) 66#define GC_DISPLAY_CLOCK_333_MHZ (4 << 4)
67#define GC_DISPLAY_CLOCK_MASK (7 << 4) 67#define GC_DISPLAY_CLOCK_MASK (7 << 4)
68#define GM45_GC_RENDER_CLOCK_MASK (0xf << 0)
69#define GM45_GC_RENDER_CLOCK_266_MHZ (8 << 0)
70#define GM45_GC_RENDER_CLOCK_320_MHZ (9 << 0)
71#define GM45_GC_RENDER_CLOCK_400_MHZ (0xb << 0)
72#define GM45_GC_RENDER_CLOCK_533_MHZ (0xc << 0)
73#define I965_GC_RENDER_CLOCK_MASK (0xf << 0)
74#define I965_GC_RENDER_CLOCK_267_MHZ (2 << 0)
75#define I965_GC_RENDER_CLOCK_333_MHZ (3 << 0)
76#define I965_GC_RENDER_CLOCK_444_MHZ (4 << 0)
77#define I965_GC_RENDER_CLOCK_533_MHZ (5 << 0)
78#define I945_GC_RENDER_CLOCK_MASK (7 << 0)
79#define I945_GC_RENDER_CLOCK_166_MHZ (0 << 0)
80#define I945_GC_RENDER_CLOCK_200_MHZ (1 << 0)
81#define I945_GC_RENDER_CLOCK_250_MHZ (3 << 0)
82#define I945_GC_RENDER_CLOCK_400_MHZ (5 << 0)
83#define I915_GC_RENDER_CLOCK_MASK (7 << 0)
84#define I915_GC_RENDER_CLOCK_166_MHZ (0 << 0)
85#define I915_GC_RENDER_CLOCK_200_MHZ (1 << 0)
86#define I915_GC_RENDER_CLOCK_333_MHZ (4 << 0)
68#define LBB 0xf4 87#define LBB 0xf4
69 88
70/* VGA stuff */ 89/* VGA stuff */
@@ -553,9 +572,118 @@
553#define DPLLA_TEST_M_BYPASS (1 << 2) 572#define DPLLA_TEST_M_BYPASS (1 << 2)
554#define DPLLA_INPUT_BUFFER_ENABLE (1 << 0) 573#define DPLLA_INPUT_BUFFER_ENABLE (1 << 0)
555#define D_STATE 0x6104 574#define D_STATE 0x6104
556#define CG_2D_DIS 0x6200 575#define DSTATE_PLL_D3_OFF (1<<3)
557#define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) 576#define DSTATE_GFX_CLOCK_GATING (1<<1)
558#define CG_3D_DIS 0x6204 577#define DSTATE_DOT_CLOCK_GATING (1<<0)
578#define DSPCLK_GATE_D 0x6200
579# define DPUNIT_B_CLOCK_GATE_DISABLE (1 << 30) /* 965 */
580# define VSUNIT_CLOCK_GATE_DISABLE (1 << 29) /* 965 */
581# define VRHUNIT_CLOCK_GATE_DISABLE (1 << 28) /* 965 */
582# define VRDUNIT_CLOCK_GATE_DISABLE (1 << 27) /* 965 */
583# define AUDUNIT_CLOCK_GATE_DISABLE (1 << 26) /* 965 */
584# define DPUNIT_A_CLOCK_GATE_DISABLE (1 << 25) /* 965 */
585# define DPCUNIT_CLOCK_GATE_DISABLE (1 << 24) /* 965 */
586# define TVRUNIT_CLOCK_GATE_DISABLE (1 << 23) /* 915-945 */
587# define TVCUNIT_CLOCK_GATE_DISABLE (1 << 22) /* 915-945 */
588# define TVFUNIT_CLOCK_GATE_DISABLE (1 << 21) /* 915-945 */
589# define TVEUNIT_CLOCK_GATE_DISABLE (1 << 20) /* 915-945 */
590# define DVSUNIT_CLOCK_GATE_DISABLE (1 << 19) /* 915-945 */
591# define DSSUNIT_CLOCK_GATE_DISABLE (1 << 18) /* 915-945 */
592# define DDBUNIT_CLOCK_GATE_DISABLE (1 << 17) /* 915-945 */
593# define DPRUNIT_CLOCK_GATE_DISABLE (1 << 16) /* 915-945 */
594# define DPFUNIT_CLOCK_GATE_DISABLE (1 << 15) /* 915-945 */
595# define DPBMUNIT_CLOCK_GATE_DISABLE (1 << 14) /* 915-945 */
596# define DPLSUNIT_CLOCK_GATE_DISABLE (1 << 13) /* 915-945 */
597# define DPLUNIT_CLOCK_GATE_DISABLE (1 << 12) /* 915-945 */
598# define DPOUNIT_CLOCK_GATE_DISABLE (1 << 11)
599# define DPBUNIT_CLOCK_GATE_DISABLE (1 << 10)
600# define DCUNIT_CLOCK_GATE_DISABLE (1 << 9)
601# define DPUNIT_CLOCK_GATE_DISABLE (1 << 8)
602# define VRUNIT_CLOCK_GATE_DISABLE (1 << 7) /* 915+: reserved */
603# define OVHUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 830-865 */
604# define DPIOUNIT_CLOCK_GATE_DISABLE (1 << 6) /* 915-945 */
605# define OVFUNIT_CLOCK_GATE_DISABLE (1 << 5)
606# define OVBUNIT_CLOCK_GATE_DISABLE (1 << 4)
607/**
608 * This bit must be set on the 830 to prevent hangs when turning off the
609 * overlay scaler.
610 */
611# define OVRUNIT_CLOCK_GATE_DISABLE (1 << 3)
612# define OVCUNIT_CLOCK_GATE_DISABLE (1 << 2)
613# define OVUUNIT_CLOCK_GATE_DISABLE (1 << 1)
614# define ZVUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 830 */
615# define OVLUNIT_CLOCK_GATE_DISABLE (1 << 0) /* 845,865 */
616
617#define RENCLK_GATE_D1 0x6204
618# define BLITTER_CLOCK_GATE_DISABLE (1 << 13) /* 945GM only */
619# define MPEG_CLOCK_GATE_DISABLE (1 << 12) /* 945GM only */
620# define PC_FE_CLOCK_GATE_DISABLE (1 << 11)
621# define PC_BE_CLOCK_GATE_DISABLE (1 << 10)
622# define WINDOWER_CLOCK_GATE_DISABLE (1 << 9)
623# define INTERPOLATOR_CLOCK_GATE_DISABLE (1 << 8)
624# define COLOR_CALCULATOR_CLOCK_GATE_DISABLE (1 << 7)
625# define MOTION_COMP_CLOCK_GATE_DISABLE (1 << 6)
626# define MAG_CLOCK_GATE_DISABLE (1 << 5)
627/** This bit must be unset on 855,865 */
628# define MECI_CLOCK_GATE_DISABLE (1 << 4)
629# define DCMP_CLOCK_GATE_DISABLE (1 << 3)
630# define MEC_CLOCK_GATE_DISABLE (1 << 2)
631# define MECO_CLOCK_GATE_DISABLE (1 << 1)
632/** This bit must be set on 855,865. */
633# define SV_CLOCK_GATE_DISABLE (1 << 0)
634# define I915_MPEG_CLOCK_GATE_DISABLE (1 << 16)
635# define I915_VLD_IP_PR_CLOCK_GATE_DISABLE (1 << 15)
636# define I915_MOTION_COMP_CLOCK_GATE_DISABLE (1 << 14)
637# define I915_BD_BF_CLOCK_GATE_DISABLE (1 << 13)
638# define I915_SF_SE_CLOCK_GATE_DISABLE (1 << 12)
639# define I915_WM_CLOCK_GATE_DISABLE (1 << 11)
640# define I915_IZ_CLOCK_GATE_DISABLE (1 << 10)
641# define I915_PI_CLOCK_GATE_DISABLE (1 << 9)
642# define I915_DI_CLOCK_GATE_DISABLE (1 << 8)
643# define I915_SH_SV_CLOCK_GATE_DISABLE (1 << 7)
644# define I915_PL_DG_QC_FT_CLOCK_GATE_DISABLE (1 << 6)
645# define I915_SC_CLOCK_GATE_DISABLE (1 << 5)
646# define I915_FL_CLOCK_GATE_DISABLE (1 << 4)
647# define I915_DM_CLOCK_GATE_DISABLE (1 << 3)
648# define I915_PS_CLOCK_GATE_DISABLE (1 << 2)
649# define I915_CC_CLOCK_GATE_DISABLE (1 << 1)
650# define I915_BY_CLOCK_GATE_DISABLE (1 << 0)
651
652# define I965_RCZ_CLOCK_GATE_DISABLE (1 << 30)
653/** This bit must always be set on 965G/965GM */
654# define I965_RCC_CLOCK_GATE_DISABLE (1 << 29)
655# define I965_RCPB_CLOCK_GATE_DISABLE (1 << 28)
656# define I965_DAP_CLOCK_GATE_DISABLE (1 << 27)
657# define I965_ROC_CLOCK_GATE_DISABLE (1 << 26)
658# define I965_GW_CLOCK_GATE_DISABLE (1 << 25)
659# define I965_TD_CLOCK_GATE_DISABLE (1 << 24)
660/** This bit must always be set on 965G */
661# define I965_ISC_CLOCK_GATE_DISABLE (1 << 23)
662# define I965_IC_CLOCK_GATE_DISABLE (1 << 22)
663# define I965_EU_CLOCK_GATE_DISABLE (1 << 21)
664# define I965_IF_CLOCK_GATE_DISABLE (1 << 20)
665# define I965_TC_CLOCK_GATE_DISABLE (1 << 19)
666# define I965_SO_CLOCK_GATE_DISABLE (1 << 17)
667# define I965_FBC_CLOCK_GATE_DISABLE (1 << 16)
668# define I965_MARI_CLOCK_GATE_DISABLE (1 << 15)
669# define I965_MASF_CLOCK_GATE_DISABLE (1 << 14)
670# define I965_MAWB_CLOCK_GATE_DISABLE (1 << 13)
671# define I965_EM_CLOCK_GATE_DISABLE (1 << 12)
672# define I965_UC_CLOCK_GATE_DISABLE (1 << 11)
673# define I965_SI_CLOCK_GATE_DISABLE (1 << 6)
674# define I965_MT_CLOCK_GATE_DISABLE (1 << 5)
675# define I965_PL_CLOCK_GATE_DISABLE (1 << 4)
676# define I965_DG_CLOCK_GATE_DISABLE (1 << 3)
677# define I965_QC_CLOCK_GATE_DISABLE (1 << 2)
678# define I965_FT_CLOCK_GATE_DISABLE (1 << 1)
679# define I965_DM_CLOCK_GATE_DISABLE (1 << 0)
680
681#define RENCLK_GATE_D2 0x6208
682#define VF_UNIT_CLOCK_GATE_DISABLE (1 << 9)
683#define GS_UNIT_CLOCK_GATE_DISABLE (1 << 7)
684#define CL_UNIT_CLOCK_GATE_DISABLE (1 << 6)
685#define RAMCLK_GATE_D 0x6210 /* CRL only */
686#define DEUC 0x6214 /* CRL only */
559 687
560/* 688/*
561 * Palette regs 689 * Palette regs
@@ -683,6 +811,7 @@
683#define SDVOB_HOTPLUG_INT_EN (1 << 26) 811#define SDVOB_HOTPLUG_INT_EN (1 << 26)
684#define SDVOC_HOTPLUG_INT_EN (1 << 25) 812#define SDVOC_HOTPLUG_INT_EN (1 << 25)
685#define TV_HOTPLUG_INT_EN (1 << 18) 813#define TV_HOTPLUG_INT_EN (1 << 18)
814#define CRT_EOS_INT_EN (1 << 10)
686#define CRT_HOTPLUG_INT_EN (1 << 9) 815#define CRT_HOTPLUG_INT_EN (1 << 9)
687#define CRT_HOTPLUG_FORCE_DETECT (1 << 3) 816#define CRT_HOTPLUG_FORCE_DETECT (1 << 3)
688#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8) 817#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8)
@@ -717,6 +846,7 @@
717#define DPC_HOTPLUG_INT_STATUS (1 << 28) 846#define DPC_HOTPLUG_INT_STATUS (1 << 28)
718#define HDMID_HOTPLUG_INT_STATUS (1 << 27) 847#define HDMID_HOTPLUG_INT_STATUS (1 << 27)
719#define DPD_HOTPLUG_INT_STATUS (1 << 27) 848#define DPD_HOTPLUG_INT_STATUS (1 << 27)
849#define CRT_EOS_INT_STATUS (1 << 12)
720#define CRT_HOTPLUG_INT_STATUS (1 << 11) 850#define CRT_HOTPLUG_INT_STATUS (1 << 11)
721#define TV_HOTPLUG_INT_STATUS (1 << 10) 851#define TV_HOTPLUG_INT_STATUS (1 << 10)
722#define CRT_HOTPLUG_MONITOR_MASK (3 << 8) 852#define CRT_HOTPLUG_MONITOR_MASK (3 << 8)
@@ -1586,6 +1716,7 @@
1586#define PIPECONF_PROGRESSIVE (0 << 21) 1716#define PIPECONF_PROGRESSIVE (0 << 21)
1587#define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) 1717#define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21)
1588#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) 1718#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21)
1719#define PIPECONF_CXSR_DOWNCLOCK (1<<16)
1589#define PIPEASTAT 0x70024 1720#define PIPEASTAT 0x70024
1590#define PIPE_FIFO_UNDERRUN_STATUS (1UL<<31) 1721#define PIPE_FIFO_UNDERRUN_STATUS (1UL<<31)
1591#define PIPE_CRC_ERROR_ENABLE (1UL<<29) 1722#define PIPE_CRC_ERROR_ENABLE (1UL<<29)
@@ -1733,6 +1864,7 @@
1733#define DISPPLANE_NO_LINE_DOUBLE 0 1864#define DISPPLANE_NO_LINE_DOUBLE 0
1734#define DISPPLANE_STEREO_POLARITY_FIRST 0 1865#define DISPPLANE_STEREO_POLARITY_FIRST 0
1735#define DISPPLANE_STEREO_POLARITY_SECOND (1<<18) 1866#define DISPPLANE_STEREO_POLARITY_SECOND (1<<18)
1867#define DISPPLANE_TRICKLE_FEED_DISABLE (1<<14) /* IGDNG */
1736#define DISPPLANE_TILED (1<<10) 1868#define DISPPLANE_TILED (1<<10)
1737#define DSPAADDR 0x70184 1869#define DSPAADDR 0x70184
1738#define DSPASTRIDE 0x70188 1870#define DSPASTRIDE 0x70188
@@ -1913,6 +2045,9 @@
1913#define GTIIR 0x44018 2045#define GTIIR 0x44018
1914#define GTIER 0x4401c 2046#define GTIER 0x4401c
1915 2047
2048#define DISP_ARB_CTL 0x45000
2049#define DISP_TILE_SURFACE_SWIZZLING (1<<13)
2050
1916/* PCH */ 2051/* PCH */
1917 2052
1918/* south display engine interrupt */ 2053/* south display engine interrupt */