aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_reg.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-15 04:02:39 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-15 04:02:39 -0500
commitc09cd6e9691ec6fce8cb90b65929cad389d39c84 (patch)
treed76104420f72172b21b8fb5ca512baa016ac892b /drivers/gpu/drm/i915/i915_reg.h
parent7eb1c496f7ac0f386552c0cd9144f6965fc61da5 (diff)
parent96ab4c70396e4e5a4d623bc95e86484682bef78f (diff)
Merge branch 'backlight-rework' into drm-intel-next-queued
Pull in Jani's backlight rework branch. This was merged through a separate branch to be able to sort out the Broadwell conflicts properly before pulling it into the main development branch. Conflicts: drivers/gpu/drm/i915/intel_display.c Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h156
1 files changed, 154 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index a8a5bcb521c7..849e595ed19d 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -110,6 +110,9 @@
110#define RING_PP_DIR_DCLV(ring) ((ring)->mmio_base+0x220) 110#define RING_PP_DIR_DCLV(ring) ((ring)->mmio_base+0x220)
111#define PP_DIR_DCLV_2G 0xffffffff 111#define PP_DIR_DCLV_2G 0xffffffff
112 112
113#define GEN8_RING_PDP_UDW(ring, n) ((ring)->mmio_base+0x270 + ((n) * 8 + 4))
114#define GEN8_RING_PDP_LDW(ring, n) ((ring)->mmio_base+0x270 + (n) * 8)
115
113#define GAM_ECOCHK 0x4090 116#define GAM_ECOCHK 0x4090
114#define ECOCHK_SNB_BIT (1<<10) 117#define ECOCHK_SNB_BIT (1<<10)
115#define HSW_ECOCHK_ARB_PRIO_SOL (1<<6) 118#define HSW_ECOCHK_ARB_PRIO_SOL (1<<6)
@@ -247,6 +250,7 @@
247#define MI_BATCH_NON_SECURE_HSW (1<<13) 250#define MI_BATCH_NON_SECURE_HSW (1<<13)
248#define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0) 251#define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0)
249#define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */ 252#define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */
253#define MI_BATCH_BUFFER_START_GEN8 MI_INSTR(0x31, 1)
250#define MI_SEMAPHORE_MBOX MI_INSTR(0x16, 1) /* gen6+ */ 254#define MI_SEMAPHORE_MBOX MI_INSTR(0x16, 1) /* gen6+ */
251#define MI_SEMAPHORE_GLOBAL_GTT (1<<22) 255#define MI_SEMAPHORE_GLOBAL_GTT (1<<22)
252#define MI_SEMAPHORE_UPDATE (1<<21) 256#define MI_SEMAPHORE_UPDATE (1<<21)
@@ -657,6 +661,9 @@
657#define ARB_MODE 0x04030 661#define ARB_MODE 0x04030
658#define ARB_MODE_SWIZZLE_SNB (1<<4) 662#define ARB_MODE_SWIZZLE_SNB (1<<4)
659#define ARB_MODE_SWIZZLE_IVB (1<<5) 663#define ARB_MODE_SWIZZLE_IVB (1<<5)
664#define GAMTARBMODE 0x04a08
665#define ARB_MODE_BWGTLB_DISABLE (1<<9)
666#define ARB_MODE_SWIZZLE_BDW (1<<1)
660#define RENDER_HWS_PGA_GEN7 (0x04080) 667#define RENDER_HWS_PGA_GEN7 (0x04080)
661#define RING_FAULT_REG(ring) (0x4094 + 0x100*(ring)->id) 668#define RING_FAULT_REG(ring) (0x4094 + 0x100*(ring)->id)
662#define RING_FAULT_GTTSEL_MASK (1<<11) 669#define RING_FAULT_GTTSEL_MASK (1<<11)
@@ -664,6 +671,7 @@
664#define RING_FAULT_FAULT_TYPE(x) ((x >> 1) & 0x3) 671#define RING_FAULT_FAULT_TYPE(x) ((x >> 1) & 0x3)
665#define RING_FAULT_VALID (1<<0) 672#define RING_FAULT_VALID (1<<0)
666#define DONE_REG 0x40b0 673#define DONE_REG 0x40b0
674#define GEN8_PRIVATE_PAT 0x40e0
667#define BSD_HWS_PGA_GEN7 (0x04180) 675#define BSD_HWS_PGA_GEN7 (0x04180)
668#define BLT_HWS_PGA_GEN7 (0x04280) 676#define BLT_HWS_PGA_GEN7 (0x04280)
669#define VEBOX_HWS_PGA_GEN7 (0x04380) 677#define VEBOX_HWS_PGA_GEN7 (0x04380)
@@ -743,6 +751,7 @@
743#define FPGA_DBG_RM_NOCLAIM (1<<31) 751#define FPGA_DBG_RM_NOCLAIM (1<<31)
744 752
745#define DERRMR 0x44050 753#define DERRMR 0x44050
754/* Note that HBLANK events are reserved on bdw+ */
746#define DERRMR_PIPEA_SCANLINE (1<<0) 755#define DERRMR_PIPEA_SCANLINE (1<<0)
747#define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1) 756#define DERRMR_PIPEA_PRI_FLIP_DONE (1<<1)
748#define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2) 757#define DERRMR_PIPEA_SPR_FLIP_DONE (1<<2)
@@ -776,6 +785,7 @@
776#define _3D_CHICKEN3 0x02090 785#define _3D_CHICKEN3 0x02090
777#define _3D_CHICKEN_SF_DISABLE_OBJEND_CULL (1 << 10) 786#define _3D_CHICKEN_SF_DISABLE_OBJEND_CULL (1 << 10)
778#define _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL (1 << 5) 787#define _3D_CHICKEN3_SF_DISABLE_FASTCLIP_CULL (1 << 5)
788#define _3D_CHICKEN_SDE_LIMIT_FIFO_POLY_DEPTH(x) ((x)<<1)
779 789
780#define MI_MODE 0x0209c 790#define MI_MODE 0x0209c
781# define VS_TIMER_DISPATCH (1 << 6) 791# define VS_TIMER_DISPATCH (1 << 6)
@@ -1822,6 +1832,9 @@
1822 * on HSW) - so the final size is 66944 bytes, which rounds to 17 pages. 1832 * on HSW) - so the final size is 66944 bytes, which rounds to 17 pages.
1823 */ 1833 */
1824#define HSW_CXT_TOTAL_SIZE (17 * PAGE_SIZE) 1834#define HSW_CXT_TOTAL_SIZE (17 * PAGE_SIZE)
1835/* Same as Haswell, but 72064 bytes now. */
1836#define GEN8_CXT_TOTAL_SIZE (18 * PAGE_SIZE)
1837
1825 1838
1826#define VLV_CLK_CTL2 0x101104 1839#define VLV_CLK_CTL2 0x101104
1827#define CLK_CTL2_CZCOUNT_30NS_SHIFT 28 1840#define CLK_CTL2_CZCOUNT_30NS_SHIFT 28
@@ -1952,8 +1965,8 @@
1952#define BCLRPAT(pipe) _PIPE(pipe, _BCLRPAT_A, _BCLRPAT_B) 1965#define BCLRPAT(pipe) _PIPE(pipe, _BCLRPAT_A, _BCLRPAT_B)
1953#define VSYNCSHIFT(trans) _TRANSCODER(trans, _VSYNCSHIFT_A, _VSYNCSHIFT_B) 1966#define VSYNCSHIFT(trans) _TRANSCODER(trans, _VSYNCSHIFT_A, _VSYNCSHIFT_B)
1954 1967
1955/* HSW eDP PSR registers */ 1968/* HSW+ eDP PSR registers */
1956#define EDP_PSR_BASE(dev) 0x64800 1969#define EDP_PSR_BASE(dev) (IS_HASWELL(dev) ? 0x64800 : 0x6f800)
1957#define EDP_PSR_CTL(dev) (EDP_PSR_BASE(dev) + 0) 1970#define EDP_PSR_CTL(dev) (EDP_PSR_BASE(dev) + 0)
1958#define EDP_PSR_ENABLE (1<<31) 1971#define EDP_PSR_ENABLE (1<<31)
1959#define EDP_PSR_LINK_DISABLE (0<<27) 1972#define EDP_PSR_LINK_DISABLE (0<<27)
@@ -2397,6 +2410,21 @@
2397 2410
2398#define PFIT_AUTO_RATIOS (dev_priv->info->display_mmio_offset + 0x61238) 2411#define PFIT_AUTO_RATIOS (dev_priv->info->display_mmio_offset + 0x61238)
2399 2412
2413#define _VLV_BLC_PWM_CTL2_A (dev_priv->info->display_mmio_offset + 0x61250)
2414#define _VLV_BLC_PWM_CTL2_B (dev_priv->info->display_mmio_offset + 0x61350)
2415#define VLV_BLC_PWM_CTL2(pipe) _PIPE(pipe, _VLV_BLC_PWM_CTL2_A, \
2416 _VLV_BLC_PWM_CTL2_B)
2417
2418#define _VLV_BLC_PWM_CTL_A (dev_priv->info->display_mmio_offset + 0x61254)
2419#define _VLV_BLC_PWM_CTL_B (dev_priv->info->display_mmio_offset + 0x61354)
2420#define VLV_BLC_PWM_CTL(pipe) _PIPE(pipe, _VLV_BLC_PWM_CTL_A, \
2421 _VLV_BLC_PWM_CTL_B)
2422
2423#define _VLV_BLC_HIST_CTL_A (dev_priv->info->display_mmio_offset + 0x61260)
2424#define _VLV_BLC_HIST_CTL_B (dev_priv->info->display_mmio_offset + 0x61360)
2425#define VLV_BLC_HIST_CTL(pipe) _PIPE(pipe, _VLV_BLC_HIST_CTL_A, \
2426 _VLV_BLC_HIST_CTL_B)
2427
2400/* Backlight control */ 2428/* Backlight control */
2401#define BLC_PWM_CTL2 (dev_priv->info->display_mmio_offset + 0x61250) /* 965+ only */ 2429#define BLC_PWM_CTL2 (dev_priv->info->display_mmio_offset + 0x61250) /* 965+ only */
2402#define BLM_PWM_ENABLE (1 << 31) 2430#define BLM_PWM_ENABLE (1 << 31)
@@ -3228,6 +3256,18 @@
3228#define PIPEFRAMEPIXEL(pipe) _PIPE(pipe, _PIPEAFRAMEPIXEL, _PIPEBFRAMEPIXEL) 3256#define PIPEFRAMEPIXEL(pipe) _PIPE(pipe, _PIPEAFRAMEPIXEL, _PIPEBFRAMEPIXEL)
3229#define PIPESTAT(pipe) _PIPE(pipe, _PIPEASTAT, _PIPEBSTAT) 3257#define PIPESTAT(pipe) _PIPE(pipe, _PIPEASTAT, _PIPEBSTAT)
3230 3258
3259#define _PIPE_MISC_A 0x70030
3260#define _PIPE_MISC_B 0x71030
3261#define PIPEMISC_DITHER_BPC_MASK (7<<5)
3262#define PIPEMISC_DITHER_8_BPC (0<<5)
3263#define PIPEMISC_DITHER_10_BPC (1<<5)
3264#define PIPEMISC_DITHER_6_BPC (2<<5)
3265#define PIPEMISC_DITHER_12_BPC (3<<5)
3266#define PIPEMISC_DITHER_ENABLE (1<<4)
3267#define PIPEMISC_DITHER_TYPE_MASK (3<<2)
3268#define PIPEMISC_DITHER_TYPE_SP (0<<2)
3269#define PIPEMISC(pipe) _PIPE(pipe, _PIPE_MISC_A, _PIPE_MISC_B)
3270
3231#define VLV_DPFLIPSTAT (VLV_DISPLAY_BASE + 0x70028) 3271#define VLV_DPFLIPSTAT (VLV_DISPLAY_BASE + 0x70028)
3232#define PIPEB_LINE_COMPARE_INT_EN (1<<29) 3272#define PIPEB_LINE_COMPARE_INT_EN (1<<29)
3233#define PIPEB_HLINE_INT_EN (1<<28) 3273#define PIPEB_HLINE_INT_EN (1<<28)
@@ -3358,6 +3398,7 @@
3358#define WM1_LP_LATENCY_MASK (0x7f<<24) 3398#define WM1_LP_LATENCY_MASK (0x7f<<24)
3359#define WM1_LP_FBC_MASK (0xf<<20) 3399#define WM1_LP_FBC_MASK (0xf<<20)
3360#define WM1_LP_FBC_SHIFT 20 3400#define WM1_LP_FBC_SHIFT 20
3401#define WM1_LP_FBC_SHIFT_BDW 19
3361#define WM1_LP_SR_MASK (0x7ff<<8) 3402#define WM1_LP_SR_MASK (0x7ff<<8)
3362#define WM1_LP_SR_SHIFT 8 3403#define WM1_LP_SR_SHIFT 8
3363#define WM1_LP_CURSOR_MASK (0xff) 3404#define WM1_LP_CURSOR_MASK (0xff)
@@ -3998,6 +4039,71 @@
3998#define GTIIR 0x44018 4039#define GTIIR 0x44018
3999#define GTIER 0x4401c 4040#define GTIER 0x4401c
4000 4041
4042#define GEN8_MASTER_IRQ 0x44200
4043#define GEN8_MASTER_IRQ_CONTROL (1<<31)
4044#define GEN8_PCU_IRQ (1<<30)
4045#define GEN8_DE_PCH_IRQ (1<<23)
4046#define GEN8_DE_MISC_IRQ (1<<22)
4047#define GEN8_DE_PORT_IRQ (1<<20)
4048#define GEN8_DE_PIPE_C_IRQ (1<<18)
4049#define GEN8_DE_PIPE_B_IRQ (1<<17)
4050#define GEN8_DE_PIPE_A_IRQ (1<<16)
4051#define GEN8_DE_PIPE_IRQ(pipe) (1<<(16+pipe))
4052#define GEN8_GT_VECS_IRQ (1<<6)
4053#define GEN8_GT_VCS2_IRQ (1<<3)
4054#define GEN8_GT_VCS1_IRQ (1<<2)
4055#define GEN8_GT_BCS_IRQ (1<<1)
4056#define GEN8_GT_RCS_IRQ (1<<0)
4057
4058#define GEN8_GT_ISR(which) (0x44300 + (0x10 * (which)))
4059#define GEN8_GT_IMR(which) (0x44304 + (0x10 * (which)))
4060#define GEN8_GT_IIR(which) (0x44308 + (0x10 * (which)))
4061#define GEN8_GT_IER(which) (0x4430c + (0x10 * (which)))
4062
4063#define GEN8_BCS_IRQ_SHIFT 16
4064#define GEN8_RCS_IRQ_SHIFT 0
4065#define GEN8_VCS2_IRQ_SHIFT 16
4066#define GEN8_VCS1_IRQ_SHIFT 0
4067#define GEN8_VECS_IRQ_SHIFT 0
4068
4069#define GEN8_DE_PIPE_ISR(pipe) (0x44400 + (0x10 * (pipe)))
4070#define GEN8_DE_PIPE_IMR(pipe) (0x44404 + (0x10 * (pipe)))
4071#define GEN8_DE_PIPE_IIR(pipe) (0x44408 + (0x10 * (pipe)))
4072#define GEN8_DE_PIPE_IER(pipe) (0x4440c + (0x10 * (pipe)))
4073#define GEN8_PIPE_FIFO_UNDERRUN (1 << 31)
4074#define GEN8_PIPE_CDCLK_CRC_ERROR (1 << 29)
4075#define GEN8_PIPE_CDCLK_CRC_DONE (1 << 28)
4076#define GEN8_PIPE_CURSOR_FAULT (1 << 10)
4077#define GEN8_PIPE_SPRITE_FAULT (1 << 9)
4078#define GEN8_PIPE_PRIMARY_FAULT (1 << 8)
4079#define GEN8_PIPE_SPRITE_FLIP_DONE (1 << 5)
4080#define GEN8_PIPE_FLIP_DONE (1 << 4)
4081#define GEN8_PIPE_SCAN_LINE_EVENT (1 << 2)
4082#define GEN8_PIPE_VSYNC (1 << 1)
4083#define GEN8_PIPE_VBLANK (1 << 0)
4084#define GEN8_DE_PIPE_IRQ_FAULT_ERRORS \
4085 (GEN8_PIPE_CURSOR_FAULT | \
4086 GEN8_PIPE_SPRITE_FAULT | \
4087 GEN8_PIPE_PRIMARY_FAULT)
4088
4089#define GEN8_DE_PORT_ISR 0x44440
4090#define GEN8_DE_PORT_IMR 0x44444
4091#define GEN8_DE_PORT_IIR 0x44448
4092#define GEN8_DE_PORT_IER 0x4444c
4093#define GEN8_PORT_DP_A_HOTPLUG (1 << 3)
4094#define GEN8_AUX_CHANNEL_A (1 << 0)
4095
4096#define GEN8_DE_MISC_ISR 0x44460
4097#define GEN8_DE_MISC_IMR 0x44464
4098#define GEN8_DE_MISC_IIR 0x44468
4099#define GEN8_DE_MISC_IER 0x4446c
4100#define GEN8_DE_MISC_GSE (1 << 27)
4101
4102#define GEN8_PCU_ISR 0x444e0
4103#define GEN8_PCU_IMR 0x444e4
4104#define GEN8_PCU_IIR 0x444e8
4105#define GEN8_PCU_IER 0x444ec
4106
4001#define ILK_DISPLAY_CHICKEN2 0x42004 4107#define ILK_DISPLAY_CHICKEN2 0x42004
4002/* Required on all Ironlake and Sandybridge according to the B-Spec. */ 4108/* Required on all Ironlake and Sandybridge according to the B-Spec. */
4003#define ILK_ELPIN_409_SELECT (1 << 25) 4109#define ILK_ELPIN_409_SELECT (1 << 25)
@@ -4023,8 +4129,14 @@
4023# define CHICKEN3_DGMG_DONE_FIX_DISABLE (1 << 2) 4129# define CHICKEN3_DGMG_DONE_FIX_DISABLE (1 << 2)
4024 4130
4025#define CHICKEN_PAR1_1 0x42080 4131#define CHICKEN_PAR1_1 0x42080
4132#define DPA_MASK_VBLANK_SRD (1 << 15)
4026#define FORCE_ARB_IDLE_PLANES (1 << 14) 4133#define FORCE_ARB_IDLE_PLANES (1 << 14)
4027 4134
4135#define _CHICKEN_PIPESL_1_A 0x420b0
4136#define _CHICKEN_PIPESL_1_B 0x420b4
4137#define DPRS_MASK_VBLANK_SRD (1 << 0)
4138#define CHICKEN_PIPESL_1(pipe) _PIPE(pipe, _CHICKEN_PIPESL_1_A, _CHICKEN_PIPESL_1_B)
4139
4028#define DISP_ARB_CTL 0x45000 4140#define DISP_ARB_CTL 0x45000
4029#define DISP_TILE_SURFACE_SWIZZLING (1<<13) 4141#define DISP_TILE_SURFACE_SWIZZLING (1<<13)
4030#define DISP_FBC_WM_DIS (1<<15) 4142#define DISP_FBC_WM_DIS (1<<15)
@@ -4035,6 +4147,8 @@
4035/* GEN7 chicken */ 4147/* GEN7 chicken */
4036#define GEN7_COMMON_SLICE_CHICKEN1 0x7010 4148#define GEN7_COMMON_SLICE_CHICKEN1 0x7010
4037# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26)) 4149# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
4150#define COMMON_SLICE_CHICKEN2 0x7014
4151# define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
4038 4152
4039#define GEN7_L3CNTLREG1 0xB01C 4153#define GEN7_L3CNTLREG1 0xB01C
4040#define GEN7_WA_FOR_GEN7_L3_CONTROL 0x3C4FFF8C 4154#define GEN7_WA_FOR_GEN7_L3_CONTROL 0x3C4FFF8C
@@ -4863,6 +4977,7 @@
4863#define GEN6_PCODE_WRITE_D_COMP 0x11 4977#define GEN6_PCODE_WRITE_D_COMP 0x11
4864#define GEN6_ENCODE_RC6_VID(mv) (((mv) - 245) / 5) 4978#define GEN6_ENCODE_RC6_VID(mv) (((mv) - 245) / 5)
4865#define GEN6_DECODE_RC6_VID(vids) (((vids) * 5) + 245) 4979#define GEN6_DECODE_RC6_VID(vids) (((vids) * 5) + 245)
4980#define DISPLAY_IPS_CONTROL 0x19
4866#define GEN6_PCODE_DATA 0x138128 4981#define GEN6_PCODE_DATA 0x138128
4867#define GEN6_PCODE_FREQ_IA_RATIO_SHIFT 8 4982#define GEN6_PCODE_FREQ_IA_RATIO_SHIFT 8
4868#define GEN6_PCODE_FREQ_RING_RATIO_SHIFT 16 4983#define GEN6_PCODE_FREQ_RING_RATIO_SHIFT 16
@@ -4900,6 +5015,7 @@
4900#define GEN7_HALF_SLICE_CHICKEN1 0xe100 /* IVB GT1 + VLV */ 5015#define GEN7_HALF_SLICE_CHICKEN1 0xe100 /* IVB GT1 + VLV */
4901#define GEN7_HALF_SLICE_CHICKEN1_GT2 0xf100 5016#define GEN7_HALF_SLICE_CHICKEN1_GT2 0xf100
4902#define GEN7_MAX_PS_THREAD_DEP (8<<12) 5017#define GEN7_MAX_PS_THREAD_DEP (8<<12)
5018#define GEN7_SINGLE_SUBSCAN_DISPATCH_ENABLE (1<<10)
4903#define GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE (1<<3) 5019#define GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE (1<<3)
4904 5020
4905#define GEN7_ROW_CHICKEN2 0xe4f4 5021#define GEN7_ROW_CHICKEN2 0xe4f4
@@ -4909,6 +5025,10 @@
4909#define HSW_ROW_CHICKEN3 0xe49c 5025#define HSW_ROW_CHICKEN3 0xe49c
4910#define HSW_ROW_CHICKEN3_L3_GLOBAL_ATOMICS_DISABLE (1 << 6) 5026#define HSW_ROW_CHICKEN3_L3_GLOBAL_ATOMICS_DISABLE (1 << 6)
4911 5027
5028#define HALF_SLICE_CHICKEN3 0xe184
5029#define GEN8_CENTROID_PIXEL_OPT_DIS (1<<8)
5030#define GEN8_SAMPLER_POWER_BYPASS_DIS (1<<1)
5031
4912#define G4X_AUD_VID_DID (dev_priv->info->display_mmio_offset + 0x62020) 5032#define G4X_AUD_VID_DID (dev_priv->info->display_mmio_offset + 0x62020)
4913#define INTEL_AUDIO_DEVCL 0x808629FB 5033#define INTEL_AUDIO_DEVCL 0x808629FB
4914#define INTEL_AUDIO_DEVBLC 0x80862801 5034#define INTEL_AUDIO_DEVBLC 0x80862801
@@ -4950,6 +5070,18 @@
4950 CPT_AUD_CNTL_ST_B) 5070 CPT_AUD_CNTL_ST_B)
4951#define CPT_AUD_CNTRL_ST2 0xE50C0 5071#define CPT_AUD_CNTRL_ST2 0xE50C0
4952 5072
5073#define VLV_HDMIW_HDMIEDID_A (VLV_DISPLAY_BASE + 0x62050)
5074#define VLV_HDMIW_HDMIEDID_B (VLV_DISPLAY_BASE + 0x62150)
5075#define VLV_HDMIW_HDMIEDID(pipe) _PIPE(pipe, \
5076 VLV_HDMIW_HDMIEDID_A, \
5077 VLV_HDMIW_HDMIEDID_B)
5078#define VLV_AUD_CNTL_ST_A (VLV_DISPLAY_BASE + 0x620B4)
5079#define VLV_AUD_CNTL_ST_B (VLV_DISPLAY_BASE + 0x621B4)
5080#define VLV_AUD_CNTL_ST(pipe) _PIPE(pipe, \
5081 VLV_AUD_CNTL_ST_A, \
5082 VLV_AUD_CNTL_ST_B)
5083#define VLV_AUD_CNTL_ST2 (VLV_DISPLAY_BASE + 0x620C0)
5084
4953/* These are the 4 32-bit write offset registers for each stream 5085/* These are the 4 32-bit write offset registers for each stream
4954 * output buffer. It determines the offset from the 5086 * output buffer. It determines the offset from the
4955 * 3DSTATE_SO_BUFFERs that the next streamed vertex output goes to. 5087 * 3DSTATE_SO_BUFFERs that the next streamed vertex output goes to.
@@ -4966,6 +5098,12 @@
4966#define CPT_AUD_CFG(pipe) _PIPE(pipe, \ 5098#define CPT_AUD_CFG(pipe) _PIPE(pipe, \
4967 CPT_AUD_CONFIG_A, \ 5099 CPT_AUD_CONFIG_A, \
4968 CPT_AUD_CONFIG_B) 5100 CPT_AUD_CONFIG_B)
5101#define VLV_AUD_CONFIG_A (VLV_DISPLAY_BASE + 0x62000)
5102#define VLV_AUD_CONFIG_B (VLV_DISPLAY_BASE + 0x62100)
5103#define VLV_AUD_CFG(pipe) _PIPE(pipe, \
5104 VLV_AUD_CONFIG_A, \
5105 VLV_AUD_CONFIG_B)
5106
4969#define AUD_CONFIG_N_VALUE_INDEX (1 << 29) 5107#define AUD_CONFIG_N_VALUE_INDEX (1 << 29)
4970#define AUD_CONFIG_N_PROG_ENABLE (1 << 28) 5108#define AUD_CONFIG_N_PROG_ENABLE (1 << 28)
4971#define AUD_CONFIG_UPPER_N_SHIFT 20 5109#define AUD_CONFIG_UPPER_N_SHIFT 20
@@ -5108,6 +5246,7 @@
5108#define DDI_BUF_CTL_B 0x64100 5246#define DDI_BUF_CTL_B 0x64100
5109#define DDI_BUF_CTL(port) _PORT(port, DDI_BUF_CTL_A, DDI_BUF_CTL_B) 5247#define DDI_BUF_CTL(port) _PORT(port, DDI_BUF_CTL_A, DDI_BUF_CTL_B)
5110#define DDI_BUF_CTL_ENABLE (1<<31) 5248#define DDI_BUF_CTL_ENABLE (1<<31)
5249/* Haswell */
5111#define DDI_BUF_EMP_400MV_0DB_HSW (0<<24) /* Sel0 */ 5250#define DDI_BUF_EMP_400MV_0DB_HSW (0<<24) /* Sel0 */
5112#define DDI_BUF_EMP_400MV_3_5DB_HSW (1<<24) /* Sel1 */ 5251#define DDI_BUF_EMP_400MV_3_5DB_HSW (1<<24) /* Sel1 */
5113#define DDI_BUF_EMP_400MV_6DB_HSW (2<<24) /* Sel2 */ 5252#define DDI_BUF_EMP_400MV_6DB_HSW (2<<24) /* Sel2 */
@@ -5117,6 +5256,16 @@
5117#define DDI_BUF_EMP_600MV_6DB_HSW (6<<24) /* Sel6 */ 5256#define DDI_BUF_EMP_600MV_6DB_HSW (6<<24) /* Sel6 */
5118#define DDI_BUF_EMP_800MV_0DB_HSW (7<<24) /* Sel7 */ 5257#define DDI_BUF_EMP_800MV_0DB_HSW (7<<24) /* Sel7 */
5119#define DDI_BUF_EMP_800MV_3_5DB_HSW (8<<24) /* Sel8 */ 5258#define DDI_BUF_EMP_800MV_3_5DB_HSW (8<<24) /* Sel8 */
5259/* Broadwell */
5260#define DDI_BUF_EMP_400MV_0DB_BDW (0<<24) /* Sel0 */
5261#define DDI_BUF_EMP_400MV_3_5DB_BDW (1<<24) /* Sel1 */
5262#define DDI_BUF_EMP_400MV_6DB_BDW (2<<24) /* Sel2 */
5263#define DDI_BUF_EMP_600MV_0DB_BDW (3<<24) /* Sel3 */
5264#define DDI_BUF_EMP_600MV_3_5DB_BDW (4<<24) /* Sel4 */
5265#define DDI_BUF_EMP_600MV_6DB_BDW (5<<24) /* Sel5 */
5266#define DDI_BUF_EMP_800MV_0DB_BDW (6<<24) /* Sel6 */
5267#define DDI_BUF_EMP_800MV_3_5DB_BDW (7<<24) /* Sel7 */
5268#define DDI_BUF_EMP_1200MV_0DB_BDW (8<<24) /* Sel8 */
5120#define DDI_BUF_EMP_MASK (0xf<<24) 5269#define DDI_BUF_EMP_MASK (0xf<<24)
5121#define DDI_BUF_PORT_REVERSAL (1<<16) 5270#define DDI_BUF_PORT_REVERSAL (1<<16)
5122#define DDI_BUF_IS_IDLE (1<<7) 5271#define DDI_BUF_IS_IDLE (1<<7)
@@ -5226,6 +5375,9 @@
5226#define LCPLL_PLL_LOCK (1<<30) 5375#define LCPLL_PLL_LOCK (1<<30)
5227#define LCPLL_CLK_FREQ_MASK (3<<26) 5376#define LCPLL_CLK_FREQ_MASK (3<<26)
5228#define LCPLL_CLK_FREQ_450 (0<<26) 5377#define LCPLL_CLK_FREQ_450 (0<<26)
5378#define LCPLL_CLK_FREQ_54O_BDW (1<<26)
5379#define LCPLL_CLK_FREQ_337_5_BDW (2<<26)
5380#define LCPLL_CLK_FREQ_675_BDW (3<<26)
5229#define LCPLL_CD_CLOCK_DISABLE (1<<25) 5381#define LCPLL_CD_CLOCK_DISABLE (1<<25)
5230#define LCPLL_CD2X_CLOCK_DISABLE (1<<23) 5382#define LCPLL_CD2X_CLOCK_DISABLE (1<<23)
5231#define LCPLL_POWER_DOWN_ALLOW (1<<22) 5383#define LCPLL_POWER_DOWN_ALLOW (1<<22)