diff options
author | Dave Airlie <airlied@redhat.com> | 2015-03-04 18:41:09 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2015-03-04 18:41:09 -0500 |
commit | 7547af91868f0ea940abc25460accc4025c5ce0a (patch) | |
tree | f7214956b6d744bd5625ec218acae44de2fbd5a5 /drivers/gpu/drm/i915/i915_reg.h | |
parent | 87dc8b6cbdd9c9f39aaf215767f151b62791df5c (diff) | |
parent | d4495cbaa5869d2ce8f4b1c9331d3a19b24eb98b (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.h | 48 |
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 | ||
590 | enum 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 |