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.h141
1 files changed, 138 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 6defb7f47348..c3948ee37c13 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -61,6 +61,7 @@
61#define GC_CLOCK_100_200 (1 << 0) 61#define GC_CLOCK_100_200 (1 << 0)
62#define GC_CLOCK_100_133 (2 << 0) 62#define GC_CLOCK_100_133 (2 << 0)
63#define GC_CLOCK_166_250 (3 << 0) 63#define GC_CLOCK_166_250 (3 << 0)
64#define GCFGC2 0xda
64#define GCFGC 0xf0 /* 915+ only */ 65#define GCFGC 0xf0 /* 915+ only */
65#define GC_LOW_FREQUENCY_ENABLE (1 << 7) 66#define GC_LOW_FREQUENCY_ENABLE (1 << 7)
66#define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4) 67#define GC_DISPLAY_CLOCK_190_200_MHZ (0 << 4)
@@ -282,7 +283,7 @@
282#define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1<<18) 283#define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1<<18)
283#define I915_DISPLAY_PORT_INTERRUPT (1<<17) 284#define I915_DISPLAY_PORT_INTERRUPT (1<<17)
284#define I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT (1<<15) 285#define I915_RENDER_COMMAND_PARSER_ERROR_INTERRUPT (1<<15)
285#define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1<<14) 286#define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1<<14) /* p-state */
286#define I915_HWB_OOM_INTERRUPT (1<<13) 287#define I915_HWB_OOM_INTERRUPT (1<<13)
287#define I915_SYNC_STATUS_INTERRUPT (1<<12) 288#define I915_SYNC_STATUS_INTERRUPT (1<<12)
288#define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1<<11) 289#define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1<<11)
@@ -787,10 +788,144 @@
787#define CLKCFG_MEM_800 (3 << 4) 788#define CLKCFG_MEM_800 (3 << 4)
788#define CLKCFG_MEM_MASK (7 << 4) 789#define CLKCFG_MEM_MASK (7 << 4)
789 790
790/** GM965 GM45 render standby register */ 791#define CRSTANDVID 0x11100
791#define MCHBAR_RENDER_STANDBY 0x111B8 792#define PXVFREQ_BASE 0x11110 /* P[0-15]VIDFREQ (0x1114c) (Ironlake) */
793#define PXVFREQ_PX_MASK 0x7f000000
794#define PXVFREQ_PX_SHIFT 24
795#define VIDFREQ_BASE 0x11110
796#define VIDFREQ1 0x11110 /* VIDFREQ1-4 (0x1111c) (Cantiga) */
797#define VIDFREQ2 0x11114
798#define VIDFREQ3 0x11118
799#define VIDFREQ4 0x1111c
800#define VIDFREQ_P0_MASK 0x1f000000
801#define VIDFREQ_P0_SHIFT 24
802#define VIDFREQ_P0_CSCLK_MASK 0x00f00000
803#define VIDFREQ_P0_CSCLK_SHIFT 20
804#define VIDFREQ_P0_CRCLK_MASK 0x000f0000
805#define VIDFREQ_P0_CRCLK_SHIFT 16
806#define VIDFREQ_P1_MASK 0x00001f00
807#define VIDFREQ_P1_SHIFT 8
808#define VIDFREQ_P1_CSCLK_MASK 0x000000f0
809#define VIDFREQ_P1_CSCLK_SHIFT 4
810#define VIDFREQ_P1_CRCLK_MASK 0x0000000f
811#define INTTOEXT_BASE_ILK 0x11300
812#define INTTOEXT_BASE 0x11120 /* INTTOEXT1-8 (0x1113c) */
813#define INTTOEXT_MAP3_SHIFT 24
814#define INTTOEXT_MAP3_MASK (0x1f << INTTOEXT_MAP3_SHIFT)
815#define INTTOEXT_MAP2_SHIFT 16
816#define INTTOEXT_MAP2_MASK (0x1f << INTTOEXT_MAP2_SHIFT)
817#define INTTOEXT_MAP1_SHIFT 8
818#define INTTOEXT_MAP1_MASK (0x1f << INTTOEXT_MAP1_SHIFT)
819#define INTTOEXT_MAP0_SHIFT 0
820#define INTTOEXT_MAP0_MASK (0x1f << INTTOEXT_MAP0_SHIFT)
821#define MEMSWCTL 0x11170 /* Ironlake only */
822#define MEMCTL_CMD_MASK 0xe000
823#define MEMCTL_CMD_SHIFT 13
824#define MEMCTL_CMD_RCLK_OFF 0
825#define MEMCTL_CMD_RCLK_ON 1
826#define MEMCTL_CMD_CHFREQ 2
827#define MEMCTL_CMD_CHVID 3
828#define MEMCTL_CMD_VMMOFF 4
829#define MEMCTL_CMD_VMMON 5
830#define MEMCTL_CMD_STS (1<<12) /* write 1 triggers command, clears
831 when command complete */
832#define MEMCTL_FREQ_MASK 0x0f00 /* jitter, from 0-15 */
833#define MEMCTL_FREQ_SHIFT 8
834#define MEMCTL_SFCAVM (1<<7)
835#define MEMCTL_TGT_VID_MASK 0x007f
836#define MEMIHYST 0x1117c
837#define MEMINTREN 0x11180 /* 16 bits */
838#define MEMINT_RSEXIT_EN (1<<8)
839#define MEMINT_CX_SUPR_EN (1<<7)
840#define MEMINT_CONT_BUSY_EN (1<<6)
841#define MEMINT_AVG_BUSY_EN (1<<5)
842#define MEMINT_EVAL_CHG_EN (1<<4)
843#define MEMINT_MON_IDLE_EN (1<<3)
844#define MEMINT_UP_EVAL_EN (1<<2)
845#define MEMINT_DOWN_EVAL_EN (1<<1)
846#define MEMINT_SW_CMD_EN (1<<0)
847#define MEMINTRSTR 0x11182 /* 16 bits */
848#define MEM_RSEXIT_MASK 0xc000
849#define MEM_RSEXIT_SHIFT 14
850#define MEM_CONT_BUSY_MASK 0x3000
851#define MEM_CONT_BUSY_SHIFT 12
852#define MEM_AVG_BUSY_MASK 0x0c00
853#define MEM_AVG_BUSY_SHIFT 10
854#define MEM_EVAL_CHG_MASK 0x0300
855#define MEM_EVAL_BUSY_SHIFT 8
856#define MEM_MON_IDLE_MASK 0x00c0
857#define MEM_MON_IDLE_SHIFT 6
858#define MEM_UP_EVAL_MASK 0x0030
859#define MEM_UP_EVAL_SHIFT 4
860#define MEM_DOWN_EVAL_MASK 0x000c
861#define MEM_DOWN_EVAL_SHIFT 2
862#define MEM_SW_CMD_MASK 0x0003
863#define MEM_INT_STEER_GFX 0
864#define MEM_INT_STEER_CMR 1
865#define MEM_INT_STEER_SMI 2
866#define MEM_INT_STEER_SCI 3
867#define MEMINTRSTS 0x11184
868#define MEMINT_RSEXIT (1<<7)
869#define MEMINT_CONT_BUSY (1<<6)
870#define MEMINT_AVG_BUSY (1<<5)
871#define MEMINT_EVAL_CHG (1<<4)
872#define MEMINT_MON_IDLE (1<<3)
873#define MEMINT_UP_EVAL (1<<2)
874#define MEMINT_DOWN_EVAL (1<<1)
875#define MEMINT_SW_CMD (1<<0)
876#define MEMMODECTL 0x11190
877#define MEMMODE_BOOST_EN (1<<31)
878#define MEMMODE_BOOST_FREQ_MASK 0x0f000000 /* jitter for boost, 0-15 */
879#define MEMMODE_BOOST_FREQ_SHIFT 24
880#define MEMMODE_IDLE_MODE_MASK 0x00030000
881#define MEMMODE_IDLE_MODE_SHIFT 16
882#define MEMMODE_IDLE_MODE_EVAL 0
883#define MEMMODE_IDLE_MODE_CONT 1
884#define MEMMODE_HWIDLE_EN (1<<15)
885#define MEMMODE_SWMODE_EN (1<<14)
886#define MEMMODE_RCLK_GATE (1<<13)
887#define MEMMODE_HW_UPDATE (1<<12)
888#define MEMMODE_FSTART_MASK 0x00000f00 /* starting jitter, 0-15 */
889#define MEMMODE_FSTART_SHIFT 8
890#define MEMMODE_FMAX_MASK 0x000000f0 /* max jitter, 0-15 */
891#define MEMMODE_FMAX_SHIFT 4
892#define MEMMODE_FMIN_MASK 0x0000000f /* min jitter, 0-15 */
893#define RCBMAXAVG 0x1119c
894#define MEMSWCTL2 0x1119e /* Cantiga only */
895#define SWMEMCMD_RENDER_OFF (0 << 13)
896#define SWMEMCMD_RENDER_ON (1 << 13)
897#define SWMEMCMD_SWFREQ (2 << 13)
898#define SWMEMCMD_TARVID (3 << 13)
899#define SWMEMCMD_VRM_OFF (4 << 13)
900#define SWMEMCMD_VRM_ON (5 << 13)
901#define CMDSTS (1<<12)
902#define SFCAVM (1<<11)
903#define SWFREQ_MASK 0x0380 /* P0-7 */
904#define SWFREQ_SHIFT 7
905#define TARVID_MASK 0x001f
906#define MEMSTAT_CTG 0x111a0
907#define RCBMINAVG 0x111a0
908#define RCUPEI 0x111b0
909#define RCDNEI 0x111b4
910#define RSTDBYCTL 0x111b8
792#define RCX_SW_EXIT (1<<23) 911#define RCX_SW_EXIT (1<<23)
793#define RSX_STATUS_MASK 0x00700000 912#define RSX_STATUS_MASK 0x00700000
913#define VIDCTL 0x111c0
914#define VIDSTS 0x111c8
915#define VIDSTART 0x111cc /* 8 bits */
916#define MEMSTAT_ILK 0x111f8
917#define MEMSTAT_VID_MASK 0x7f00
918#define MEMSTAT_VID_SHIFT 8
919#define MEMSTAT_PSTATE_MASK 0x00f8
920#define MEMSTAT_PSTATE_SHIFT 3
921#define MEMSTAT_MON_ACTV (1<<2)
922#define MEMSTAT_SRC_CTL_MASK 0x0003
923#define MEMSTAT_SRC_CTL_CORE 0
924#define MEMSTAT_SRC_CTL_TRB 1
925#define MEMSTAT_SRC_CTL_THM 2
926#define MEMSTAT_SRC_CTL_STDBY 3
927#define RCPREVBSYTUPAVG 0x113b8
928#define RCPREVBSYTDNAVG 0x113bc
794#define PEG_BAND_GAP_DATA 0x14d68 929#define PEG_BAND_GAP_DATA 0x14d68
795 930
796/* 931/*