diff options
Diffstat (limited to 'drivers/gpu/drm/i915/i915_reg.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 92 |
1 files changed, 30 insertions, 62 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index f1eece4a63d5..76126e0ae609 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -193,10 +193,13 @@ | |||
193 | #define MI_SCENE_COUNT (1 << 3) /* just increment scene count */ | 193 | #define MI_SCENE_COUNT (1 << 3) /* just increment scene count */ |
194 | #define MI_END_SCENE (1 << 4) /* flush binner and incr scene count */ | 194 | #define MI_END_SCENE (1 << 4) /* flush binner and incr scene count */ |
195 | #define MI_INVALIDATE_ISP (1 << 5) /* invalidate indirect state pointers */ | 195 | #define MI_INVALIDATE_ISP (1 << 5) /* invalidate indirect state pointers */ |
196 | #define MI_REPORT_HEAD MI_INSTR(0x07, 0) | ||
197 | #define MI_ARB_ON_OFF MI_INSTR(0x08, 0) | ||
198 | #define MI_ARB_ENABLE (1<<0) | ||
199 | #define MI_ARB_DISABLE (0<<0) | ||
196 | #define MI_BATCH_BUFFER_END MI_INSTR(0x0a, 0) | 200 | #define MI_BATCH_BUFFER_END MI_INSTR(0x0a, 0) |
197 | #define MI_SUSPEND_FLUSH MI_INSTR(0x0b, 0) | 201 | #define MI_SUSPEND_FLUSH MI_INSTR(0x0b, 0) |
198 | #define MI_SUSPEND_FLUSH_EN (1<<0) | 202 | #define MI_SUSPEND_FLUSH_EN (1<<0) |
199 | #define MI_REPORT_HEAD MI_INSTR(0x07, 0) | ||
200 | #define MI_OVERLAY_FLIP MI_INSTR(0x11, 0) | 203 | #define MI_OVERLAY_FLIP MI_INSTR(0x11, 0) |
201 | #define MI_OVERLAY_CONTINUE (0x0<<21) | 204 | #define MI_OVERLAY_CONTINUE (0x0<<21) |
202 | #define MI_OVERLAY_ON (0x1<<21) | 205 | #define MI_OVERLAY_ON (0x1<<21) |
@@ -212,10 +215,24 @@ | |||
212 | #define MI_DISPLAY_FLIP_IVB_SPRITE_B (3 << 19) | 215 | #define MI_DISPLAY_FLIP_IVB_SPRITE_B (3 << 19) |
213 | #define MI_DISPLAY_FLIP_IVB_PLANE_C (4 << 19) | 216 | #define MI_DISPLAY_FLIP_IVB_PLANE_C (4 << 19) |
214 | #define MI_DISPLAY_FLIP_IVB_SPRITE_C (5 << 19) | 217 | #define MI_DISPLAY_FLIP_IVB_SPRITE_C (5 << 19) |
215 | #define MI_ARB_ON_OFF MI_INSTR(0x08, 0) | 218 | #define MI_SEMAPHORE_MBOX MI_INSTR(0x16, 1) /* gen6+ */ |
216 | #define MI_ARB_ENABLE (1<<0) | 219 | #define MI_SEMAPHORE_GLOBAL_GTT (1<<22) |
217 | #define MI_ARB_DISABLE (0<<0) | 220 | #define MI_SEMAPHORE_UPDATE (1<<21) |
218 | 221 | #define MI_SEMAPHORE_COMPARE (1<<20) | |
222 | #define MI_SEMAPHORE_REGISTER (1<<18) | ||
223 | #define MI_SEMAPHORE_SYNC_VR (0<<16) /* RCS wait for VCS (RVSYNC) */ | ||
224 | #define MI_SEMAPHORE_SYNC_VER (1<<16) /* RCS wait for VECS (RVESYNC) */ | ||
225 | #define MI_SEMAPHORE_SYNC_BR (2<<16) /* RCS wait for BCS (RBSYNC) */ | ||
226 | #define MI_SEMAPHORE_SYNC_BV (0<<16) /* VCS wait for BCS (VBSYNC) */ | ||
227 | #define MI_SEMAPHORE_SYNC_VEV (1<<16) /* VCS wait for VECS (VVESYNC) */ | ||
228 | #define MI_SEMAPHORE_SYNC_RV (2<<16) /* VCS wait for RCS (VRSYNC) */ | ||
229 | #define MI_SEMAPHORE_SYNC_RB (0<<16) /* BCS wait for RCS (BRSYNC) */ | ||
230 | #define MI_SEMAPHORE_SYNC_VEB (1<<16) /* BCS wait for VECS (BVESYNC) */ | ||
231 | #define MI_SEMAPHORE_SYNC_VB (2<<16) /* BCS wait for VCS (BVSYNC) */ | ||
232 | #define MI_SEMAPHORE_SYNC_BVE (0<<16) /* VECS wait for BCS (VEBSYNC) */ | ||
233 | #define MI_SEMAPHORE_SYNC_VVE (1<<16) /* VECS wait for VCS (VEVSYNC) */ | ||
234 | #define MI_SEMAPHORE_SYNC_RVE (2<<16) /* VECS wait for RCS (VERSYNC) */ | ||
235 | #define MI_SEMAPHORE_SYNC_INVALID (3<<16) | ||
219 | #define MI_SET_CONTEXT MI_INSTR(0x18, 0) | 236 | #define MI_SET_CONTEXT MI_INSTR(0x18, 0) |
220 | #define MI_MM_SPACE_GTT (1<<8) | 237 | #define MI_MM_SPACE_GTT (1<<8) |
221 | #define MI_MM_SPACE_PHYSICAL (0<<8) | 238 | #define MI_MM_SPACE_PHYSICAL (0<<8) |
@@ -235,7 +252,7 @@ | |||
235 | */ | 252 | */ |
236 | #define MI_LOAD_REGISTER_IMM(x) MI_INSTR(0x22, 2*x-1) | 253 | #define MI_LOAD_REGISTER_IMM(x) MI_INSTR(0x22, 2*x-1) |
237 | #define MI_STORE_REGISTER_MEM(x) MI_INSTR(0x24, 2*x-1) | 254 | #define MI_STORE_REGISTER_MEM(x) MI_INSTR(0x24, 2*x-1) |
238 | #define MI_SRM_LRM_GLOBAL_GTT (1<<22) | 255 | #define MI_SRM_LRM_GLOBAL_GTT (1<<22) |
239 | #define MI_FLUSH_DW MI_INSTR(0x26, 1) /* for GEN6 */ | 256 | #define MI_FLUSH_DW MI_INSTR(0x26, 1) /* for GEN6 */ |
240 | #define MI_FLUSH_DW_STORE_INDEX (1<<21) | 257 | #define MI_FLUSH_DW_STORE_INDEX (1<<21) |
241 | #define MI_INVALIDATE_TLB (1<<18) | 258 | #define MI_INVALIDATE_TLB (1<<18) |
@@ -246,30 +263,13 @@ | |||
246 | #define MI_BATCH_BUFFER MI_INSTR(0x30, 1) | 263 | #define MI_BATCH_BUFFER MI_INSTR(0x30, 1) |
247 | #define MI_BATCH_NON_SECURE (1) | 264 | #define MI_BATCH_NON_SECURE (1) |
248 | /* for snb/ivb/vlv this also means "batch in ppgtt" when ppgtt is enabled. */ | 265 | /* for snb/ivb/vlv this also means "batch in ppgtt" when ppgtt is enabled. */ |
249 | #define MI_BATCH_NON_SECURE_I965 (1<<8) | 266 | #define MI_BATCH_NON_SECURE_I965 (1<<8) |
250 | #define MI_BATCH_PPGTT_HSW (1<<8) | 267 | #define MI_BATCH_PPGTT_HSW (1<<8) |
251 | #define MI_BATCH_NON_SECURE_HSW (1<<13) | 268 | #define MI_BATCH_NON_SECURE_HSW (1<<13) |
252 | #define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0) | 269 | #define MI_BATCH_BUFFER_START MI_INSTR(0x31, 0) |
253 | #define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */ | 270 | #define MI_BATCH_GTT (2<<6) /* aliased with (1<<7) on gen4 */ |
254 | #define MI_BATCH_BUFFER_START_GEN8 MI_INSTR(0x31, 1) | 271 | #define MI_BATCH_BUFFER_START_GEN8 MI_INSTR(0x31, 1) |
255 | #define MI_SEMAPHORE_MBOX MI_INSTR(0x16, 1) /* gen6+ */ | 272 | |
256 | #define MI_SEMAPHORE_GLOBAL_GTT (1<<22) | ||
257 | #define MI_SEMAPHORE_UPDATE (1<<21) | ||
258 | #define MI_SEMAPHORE_COMPARE (1<<20) | ||
259 | #define MI_SEMAPHORE_REGISTER (1<<18) | ||
260 | #define MI_SEMAPHORE_SYNC_VR (0<<16) /* RCS wait for VCS (RVSYNC) */ | ||
261 | #define MI_SEMAPHORE_SYNC_VER (1<<16) /* RCS wait for VECS (RVESYNC) */ | ||
262 | #define MI_SEMAPHORE_SYNC_BR (2<<16) /* RCS wait for BCS (RBSYNC) */ | ||
263 | #define MI_SEMAPHORE_SYNC_BV (0<<16) /* VCS wait for BCS (VBSYNC) */ | ||
264 | #define MI_SEMAPHORE_SYNC_VEV (1<<16) /* VCS wait for VECS (VVESYNC) */ | ||
265 | #define MI_SEMAPHORE_SYNC_RV (2<<16) /* VCS wait for RCS (VRSYNC) */ | ||
266 | #define MI_SEMAPHORE_SYNC_RB (0<<16) /* BCS wait for RCS (BRSYNC) */ | ||
267 | #define MI_SEMAPHORE_SYNC_VEB (1<<16) /* BCS wait for VECS (BVESYNC) */ | ||
268 | #define MI_SEMAPHORE_SYNC_VB (2<<16) /* BCS wait for VCS (BVSYNC) */ | ||
269 | #define MI_SEMAPHORE_SYNC_BVE (0<<16) /* VECS wait for BCS (VEBSYNC) */ | ||
270 | #define MI_SEMAPHORE_SYNC_VVE (1<<16) /* VECS wait for VCS (VEVSYNC) */ | ||
271 | #define MI_SEMAPHORE_SYNC_RVE (2<<16) /* VECS wait for RCS (VERSYNC) */ | ||
272 | #define MI_SEMAPHORE_SYNC_INVALID (3<<16) | ||
273 | 273 | ||
274 | #define MI_PREDICATE_RESULT_2 (0x2214) | 274 | #define MI_PREDICATE_RESULT_2 (0x2214) |
275 | #define LOWER_SLICE_ENABLED (1<<0) | 275 | #define LOWER_SLICE_ENABLED (1<<0) |
@@ -3430,42 +3430,6 @@ | |||
3430 | /* the unit of memory self-refresh latency time is 0.5us */ | 3430 | /* the unit of memory self-refresh latency time is 0.5us */ |
3431 | #define ILK_SRLT_MASK 0x3f | 3431 | #define ILK_SRLT_MASK 0x3f |
3432 | 3432 | ||
3433 | /* define the fifo size on Ironlake */ | ||
3434 | #define ILK_DISPLAY_FIFO 128 | ||
3435 | #define ILK_DISPLAY_MAXWM 64 | ||
3436 | #define ILK_DISPLAY_DFTWM 8 | ||
3437 | #define ILK_CURSOR_FIFO 32 | ||
3438 | #define ILK_CURSOR_MAXWM 16 | ||
3439 | #define ILK_CURSOR_DFTWM 8 | ||
3440 | |||
3441 | #define ILK_DISPLAY_SR_FIFO 512 | ||
3442 | #define ILK_DISPLAY_MAX_SRWM 0x1ff | ||
3443 | #define ILK_DISPLAY_DFT_SRWM 0x3f | ||
3444 | #define ILK_CURSOR_SR_FIFO 64 | ||
3445 | #define ILK_CURSOR_MAX_SRWM 0x3f | ||
3446 | #define ILK_CURSOR_DFT_SRWM 8 | ||
3447 | |||
3448 | #define ILK_FIFO_LINE_SIZE 64 | ||
3449 | |||
3450 | /* define the WM info on Sandybridge */ | ||
3451 | #define SNB_DISPLAY_FIFO 128 | ||
3452 | #define SNB_DISPLAY_MAXWM 0x7f /* bit 16:22 */ | ||
3453 | #define SNB_DISPLAY_DFTWM 8 | ||
3454 | #define SNB_CURSOR_FIFO 32 | ||
3455 | #define SNB_CURSOR_MAXWM 0x1f /* bit 4:0 */ | ||
3456 | #define SNB_CURSOR_DFTWM 8 | ||
3457 | |||
3458 | #define SNB_DISPLAY_SR_FIFO 512 | ||
3459 | #define SNB_DISPLAY_MAX_SRWM 0x1ff /* bit 16:8 */ | ||
3460 | #define SNB_DISPLAY_DFT_SRWM 0x3f | ||
3461 | #define SNB_CURSOR_SR_FIFO 64 | ||
3462 | #define SNB_CURSOR_MAX_SRWM 0x3f /* bit 5:0 */ | ||
3463 | #define SNB_CURSOR_DFT_SRWM 8 | ||
3464 | |||
3465 | #define SNB_FBC_MAX_SRWM 0xf /* bit 23:20 */ | ||
3466 | |||
3467 | #define SNB_FIFO_LINE_SIZE 64 | ||
3468 | |||
3469 | 3433 | ||
3470 | /* the address where we get all kinds of latency value */ | 3434 | /* the address where we get all kinds of latency value */ |
3471 | #define SSKPD 0x5d10 | 3435 | #define SSKPD 0x5d10 |
@@ -4148,6 +4112,8 @@ | |||
4148 | #define DISP_ARB_CTL 0x45000 | 4112 | #define DISP_ARB_CTL 0x45000 |
4149 | #define DISP_TILE_SURFACE_SWIZZLING (1<<13) | 4113 | #define DISP_TILE_SURFACE_SWIZZLING (1<<13) |
4150 | #define DISP_FBC_WM_DIS (1<<15) | 4114 | #define DISP_FBC_WM_DIS (1<<15) |
4115 | #define DISP_ARB_CTL2 0x45004 | ||
4116 | #define DISP_DATA_PARTITION_5_6 (1<<6) | ||
4151 | #define GEN7_MSG_CTL 0x45010 | 4117 | #define GEN7_MSG_CTL 0x45010 |
4152 | #define WAIT_FOR_PCH_RESET_ACK (1<<1) | 4118 | #define WAIT_FOR_PCH_RESET_ACK (1<<1) |
4153 | #define WAIT_FOR_PCH_FLR_ACK (1<<0) | 4119 | #define WAIT_FOR_PCH_FLR_ACK (1<<0) |
@@ -4856,6 +4822,8 @@ | |||
4856 | #define FORCEWAKE_ACK 0x130090 | 4822 | #define FORCEWAKE_ACK 0x130090 |
4857 | #define VLV_GTLC_WAKE_CTRL 0x130090 | 4823 | #define VLV_GTLC_WAKE_CTRL 0x130090 |
4858 | #define VLV_GTLC_PW_STATUS 0x130094 | 4824 | #define VLV_GTLC_PW_STATUS 0x130094 |
4825 | #define VLV_GTLC_PW_RENDER_STATUS_MASK 0x80 | ||
4826 | #define VLV_GTLC_PW_MEDIA_STATUS_MASK 0x20 | ||
4859 | #define FORCEWAKE_MT 0xa188 /* multi-threaded */ | 4827 | #define FORCEWAKE_MT 0xa188 /* multi-threaded */ |
4860 | #define FORCEWAKE_KERNEL 0x1 | 4828 | #define FORCEWAKE_KERNEL 0x1 |
4861 | #define FORCEWAKE_USER 0x2 | 4829 | #define FORCEWAKE_USER 0x2 |