aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_reg.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2015-03-04 18:41:09 -0500
committerDave Airlie <airlied@redhat.com>2015-03-04 18:41:09 -0500
commit7547af91868f0ea940abc25460accc4025c5ce0a (patch)
treef7214956b6d744bd5625ec218acae44de2fbd5a5 /drivers/gpu/drm/i915/i915_reg.h
parent87dc8b6cbdd9c9f39aaf215767f151b62791df5c (diff)
parentd4495cbaa5869d2ce8f4b1c9331d3a19b24eb98b (diff)
Merge tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel into drm-next
- use the atomic helpers for plane_upate/disable hooks (Matt Roper) - refactor the initial plane config code (Damien) - ppgtt prep patches for dynamic pagetable alloc (Ben Widawsky, reworked and rebased by a lot of other people) - framebuffer modifier support from Tvrtko Ursulin, drm core code from Rob Clark - piles of workaround patches for skl from Damien and Nick Hoath - vGPU support for xengt on the client side (Yu Zhang) - and the usual smaller things all over * tag 'drm-intel-next-2015-02-14' of git://anongit.freedesktop.org/drm-intel: (88 commits) drm/i915: Update DRIVER_DATE to 20150214 drm/i915: Remove references to previously removed UMS config option drm/i915/skl: Use a LRI for WaDisableDgMirrorFixInHalfSliceChicken5 drm/i915/skl: Fix always true comparison in a revision id check drm/i915/skl: Implement WaEnableLbsSlaRetryTimerDecrement drm/i915/skl: Implement WaSetDisablePixMaskCammingAndRhwoInCommonSliceChicken drm/i915: Add process identifier to requests drm/i915/skl: Implement WaBarrierPerformanceFixDisable drm/i915/skl: Implement WaCcsTlbPrefetchDisable:skl drm/i915/skl: Implement WaDisableChickenBitTSGBarrierAckForFFSliceCS drm/i915/skl: Implement WaDisableHDCInvalidation drm/i915/skl: Implement WaDisableLSQCROPERFforOCL drm/i915/skl: Implement WaDisablePartialResolveInVc drm/i915/skl: Introduce a SKL specific init_workarounds() drm/i915/skl: Document that we implement WaRsClearFWBitsAtReset drm/i915/skl: Implement WaSetGAPSunitClckGateDisable drm/i915/skl: Make the init clock gating function skylake specific drm/i915/skl: Provide a gen9 specific init_render_ring() drm/i915/skl: Document the WM read latency W/A with its name drm/i915/skl: Also detect eDRAM on SKL ...
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h48
1 files changed, 46 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 33b3d0a24071..1dc91de7d2e6 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -140,6 +140,7 @@
140#define GEN8_RING_PDP_LDW(ring, n) ((ring)->mmio_base+0x270 + (n) * 8) 140#define GEN8_RING_PDP_LDW(ring, n) ((ring)->mmio_base+0x270 + (n) * 8)
141 141
142#define GAM_ECOCHK 0x4090 142#define GAM_ECOCHK 0x4090
143#define BDW_DISABLE_HDC_INVALIDATION (1<<25)
143#define ECOCHK_SNB_BIT (1<<10) 144#define ECOCHK_SNB_BIT (1<<10)
144#define HSW_ECOCHK_ARB_PRIO_SOL (1<<6) 145#define HSW_ECOCHK_ARB_PRIO_SOL (1<<6)
145#define ECOCHK_PPGTT_CACHE64B (0x3<<3) 146#define ECOCHK_PPGTT_CACHE64B (0x3<<3)
@@ -586,6 +587,19 @@ enum punit_power_well {
586 PUNIT_POWER_WELL_NUM, 587 PUNIT_POWER_WELL_NUM,
587}; 588};
588 589
590enum skl_disp_power_wells {
591 SKL_DISP_PW_MISC_IO,
592 SKL_DISP_PW_DDI_A_E,
593 SKL_DISP_PW_DDI_B,
594 SKL_DISP_PW_DDI_C,
595 SKL_DISP_PW_DDI_D,
596 SKL_DISP_PW_1 = 14,
597 SKL_DISP_PW_2,
598};
599
600#define SKL_POWER_WELL_STATE(pw) (1 << ((pw) * 2))
601#define SKL_POWER_WELL_REQ(pw) (1 << (((pw) * 2) + 1))
602
589#define PUNIT_REG_PWRGT_CTRL 0x60 603#define PUNIT_REG_PWRGT_CTRL 0x60
590#define PUNIT_REG_PWRGT_STATUS 0x61 604#define PUNIT_REG_PWRGT_STATUS 0x61
591#define PUNIT_PWRGT_MASK(power_well) (3 << ((power_well) * 2)) 605#define PUNIT_PWRGT_MASK(power_well) (3 << ((power_well) * 2))
@@ -1470,6 +1484,7 @@ enum punit_power_well {
1470#define CACHE_MODE_1 0x7004 /* IVB+ */ 1484#define CACHE_MODE_1 0x7004 /* IVB+ */
1471#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6) 1485#define PIXEL_SUBSPAN_COLLECT_OPT_DISABLE (1<<6)
1472#define GEN8_4x4_STC_OPTIMIZATION_DISABLE (1<<6) 1486#define GEN8_4x4_STC_OPTIMIZATION_DISABLE (1<<6)
1487#define GEN9_PARTIAL_RESOLVE_IN_VC_DISABLE (1<<1)
1473 1488
1474#define GEN6_BLITTER_ECOSKPD 0x221d0 1489#define GEN6_BLITTER_ECOSKPD 0x221d0
1475#define GEN6_BLITTER_LOCK_SHIFT 16 1490#define GEN6_BLITTER_LOCK_SHIFT 16
@@ -5221,15 +5236,22 @@ enum punit_power_well {
5221#define HSW_NDE_RSTWRN_OPT 0x46408 5236#define HSW_NDE_RSTWRN_OPT 0x46408
5222#define RESET_PCH_HANDSHAKE_ENABLE (1<<4) 5237#define RESET_PCH_HANDSHAKE_ENABLE (1<<4)
5223 5238
5239#define FF_SLICE_CS_CHICKEN2 0x02e4
5240#define GEN9_TSG_BARRIER_ACK_DISABLE (1<<8)
5241
5224/* GEN7 chicken */ 5242/* GEN7 chicken */
5225#define GEN7_COMMON_SLICE_CHICKEN1 0x7010 5243#define GEN7_COMMON_SLICE_CHICKEN1 0x7010
5226# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26)) 5244# define GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC ((1<<10) | (1<<26))
5245# define GEN9_RHWO_OPTIMIZATION_DISABLE (1<<14)
5227#define COMMON_SLICE_CHICKEN2 0x7014 5246#define COMMON_SLICE_CHICKEN2 0x7014
5228# define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0) 5247# define GEN8_CSC2_SBE_VUE_CACHE_CONSERVATIVE (1<<0)
5229 5248
5230#define HIZ_CHICKEN 0x7018 5249#define HIZ_CHICKEN 0x7018
5231# define CHV_HZ_8X8_MODE_IN_1X (1<<15) 5250# define CHV_HZ_8X8_MODE_IN_1X (1<<15)
5232 5251
5252#define GEN9_SLICE_COMMON_ECO_CHICKEN0 0x7308
5253#define DISABLE_PIXEL_MASK_CAMMING (1<<14)
5254
5233#define GEN7_L3SQCREG1 0xB010 5255#define GEN7_L3SQCREG1 0xB010
5234#define VLV_B0_WA_L3SQCREG1_VALUE 0x00D30000 5256#define VLV_B0_WA_L3SQCREG1_VALUE 0x00D30000
5235 5257
@@ -5245,11 +5267,16 @@ enum punit_power_well {
5245#define GEN7_L3SQCREG4 0xb034 5267#define GEN7_L3SQCREG4 0xb034
5246#define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27) 5268#define L3SQ_URB_READ_CAM_MATCH_DISABLE (1<<27)
5247 5269
5270#define GEN8_L3SQCREG4 0xb118
5271#define GEN8_LQSC_RO_PERF_DIS (1<<27)
5272
5248/* GEN8 chicken */ 5273/* GEN8 chicken */
5249#define HDC_CHICKEN0 0x7300 5274#define HDC_CHICKEN0 0x7300
5250#define HDC_FORCE_NON_COHERENT (1<<4)
5251#define HDC_DONOT_FETCH_MEM_WHEN_MASKED (1<<11)
5252#define HDC_FENCE_DEST_SLM_DISABLE (1<<14) 5275#define HDC_FENCE_DEST_SLM_DISABLE (1<<14)
5276#define HDC_DONOT_FETCH_MEM_WHEN_MASKED (1<<11)
5277#define HDC_FORCE_CONTEXT_SAVE_RESTORE_NON_COHERENT (1<<5)
5278#define HDC_FORCE_NON_COHERENT (1<<4)
5279#define HDC_BARRIER_PERFORMANCE_DISABLE (1<<10)
5253 5280
5254/* WaCatErrorRejectionIssue */ 5281/* WaCatErrorRejectionIssue */
5255#define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030 5282#define GEN7_SQ_CHICKEN_MBCUNIT_CONFIG 0x9030
@@ -5258,6 +5285,9 @@ enum punit_power_well {
5258#define HSW_SCRATCH1 0xb038 5285#define HSW_SCRATCH1 0xb038
5259#define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27) 5286#define HSW_SCRATCH1_L3_DATA_ATOMICS_DISABLE (1<<27)
5260 5287
5288#define BDW_SCRATCH1 0xb11c
5289#define GEN9_LBS_SLA_RETRY_TIMER_DECREMENT_ENABLE (1<<2)
5290
5261/* PCH */ 5291/* PCH */
5262 5292
5263/* south display engine interrupt: IBX */ 5293/* south display engine interrupt: IBX */
@@ -5980,6 +6010,7 @@ enum punit_power_well {
5980#define HSW_IDICR 0x9008 6010#define HSW_IDICR 0x9008
5981#define IDIHASHMSK(x) (((x) & 0x3f) << 16) 6011#define IDIHASHMSK(x) (((x) & 0x3f) << 16)
5982#define HSW_EDRAM_PRESENT 0x120010 6012#define HSW_EDRAM_PRESENT 0x120010
6013#define EDRAM_ENABLED 0x1
5983 6014
5984#define GEN6_UCGCTL1 0x9400 6015#define GEN6_UCGCTL1 0x9400
5985# define GEN6_EU_TCUNIT_CLOCK_GATE_DISABLE (1 << 16) 6016# define GEN6_EU_TCUNIT_CLOCK_GATE_DISABLE (1 << 16)
@@ -6003,6 +6034,7 @@ enum punit_power_well {
6003#define GEN6_RSTCTL 0x9420 6034#define GEN6_RSTCTL 0x9420
6004 6035
6005#define GEN8_UCGCTL6 0x9430 6036#define GEN8_UCGCTL6 0x9430
6037#define GEN8_GAPSUNIT_CLOCK_GATE_DISABLE (1<<24)
6006#define GEN8_SDEUNIT_CLOCK_GATE_DISABLE (1<<14) 6038#define GEN8_SDEUNIT_CLOCK_GATE_DISABLE (1<<14)
6007 6039
6008#define GEN6_GFXPAUSE 0xA000 6040#define GEN6_GFXPAUSE 0xA000
@@ -6185,6 +6217,7 @@ enum punit_power_well {
6185 6217
6186#define GEN9_HALF_SLICE_CHICKEN5 0xe188 6218#define GEN9_HALF_SLICE_CHICKEN5 0xe188
6187#define GEN9_DG_MIRROR_FIX_ENABLE (1<<5) 6219#define GEN9_DG_MIRROR_FIX_ENABLE (1<<5)
6220#define GEN9_CCS_TLB_PREFETCH_ENABLE (1<<3)
6188 6221
6189#define GEN8_ROW_CHICKEN 0xe4f0 6222#define GEN8_ROW_CHICKEN 0xe4f0
6190#define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8) 6223#define PARTIAL_INSTRUCTION_SHOOTDOWN_DISABLE (1<<8)
@@ -6200,8 +6233,12 @@ enum punit_power_well {
6200#define HALF_SLICE_CHICKEN3 0xe184 6233#define HALF_SLICE_CHICKEN3 0xe184
6201#define HSW_SAMPLE_C_PERFORMANCE (1<<9) 6234#define HSW_SAMPLE_C_PERFORMANCE (1<<9)
6202#define GEN8_CENTROID_PIXEL_OPT_DIS (1<<8) 6235#define GEN8_CENTROID_PIXEL_OPT_DIS (1<<8)
6236#define GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC (1<<5)
6203#define GEN8_SAMPLER_POWER_BYPASS_DIS (1<<1) 6237#define GEN8_SAMPLER_POWER_BYPASS_DIS (1<<1)
6204 6238
6239#define GEN9_HALF_SLICE_CHICKEN7 0xe194
6240#define GEN9_ENABLE_YV12_BUGFIX (1<<4)
6241
6205/* Audio */ 6242/* Audio */
6206#define G4X_AUD_VID_DID (dev_priv->info.display_mmio_offset + 0x62020) 6243#define G4X_AUD_VID_DID (dev_priv->info.display_mmio_offset + 0x62020)
6207#define INTEL_AUDIO_DEVCL 0x808629FB 6244#define INTEL_AUDIO_DEVCL 0x808629FB
@@ -6351,6 +6388,13 @@ enum punit_power_well {
6351#define HSW_PWR_WELL_FORCE_ON (1<<19) 6388#define HSW_PWR_WELL_FORCE_ON (1<<19)
6352#define HSW_PWR_WELL_CTL6 0x45414 6389#define HSW_PWR_WELL_CTL6 0x45414
6353 6390
6391/* SKL Fuse Status */
6392#define SKL_FUSE_STATUS 0x42000
6393#define SKL_FUSE_DOWNLOAD_STATUS (1<<31)
6394#define SKL_FUSE_PG0_DIST_STATUS (1<<27)
6395#define SKL_FUSE_PG1_DIST_STATUS (1<<26)
6396#define SKL_FUSE_PG2_DIST_STATUS (1<<25)
6397
6354/* Per-pipe DDI Function Control */ 6398/* Per-pipe DDI Function Control */
6355#define TRANS_DDI_FUNC_CTL_A 0x60400 6399#define TRANS_DDI_FUNC_CTL_A 0x60400
6356#define TRANS_DDI_FUNC_CTL_B 0x61400 6400#define TRANS_DDI_FUNC_CTL_B 0x61400