diff options
| author | Keith Packard <keithp@keithp.com> | 2010-07-20 00:12:35 -0400 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2010-07-20 01:24:12 -0400 |
| commit | 45503ded966c98e604c9667c0b458d40666b9ef3 (patch) | |
| tree | c42c6c1dd9b947e9a5b43b64b87b5c6689722506 | |
| parent | 4ede00c96632bcf8a21dd69ac0248f4c40b4cd0e (diff) | |
drm/i915: Define MI_ARB_STATE bits
The i915 memory arbiter has a register full of configuration
bits which are currently not defined in the driver header file.
Signed-off-by: Keith Packard <keithp@keithp.com>
cc: stable@kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 150400f40534..6d9b0288272a 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
| @@ -359,6 +359,70 @@ | |||
| 359 | #define LM_BURST_LENGTH 0x00000700 | 359 | #define LM_BURST_LENGTH 0x00000700 |
| 360 | #define LM_FIFO_WATERMARK 0x0000001F | 360 | #define LM_FIFO_WATERMARK 0x0000001F |
| 361 | #define MI_ARB_STATE 0x020e4 /* 915+ only */ | 361 | #define MI_ARB_STATE 0x020e4 /* 915+ only */ |
| 362 | #define MI_ARB_MASK_SHIFT 16 /* shift for enable bits */ | ||
| 363 | |||
| 364 | /* Make render/texture TLB fetches lower priorty than associated data | ||
| 365 | * fetches. This is not turned on by default | ||
| 366 | */ | ||
| 367 | #define MI_ARB_RENDER_TLB_LOW_PRIORITY (1 << 15) | ||
| 368 | |||
| 369 | /* Isoch request wait on GTT enable (Display A/B/C streams). | ||
| 370 | * Make isoch requests stall on the TLB update. May cause | ||
| 371 | * display underruns (test mode only) | ||
| 372 | */ | ||
| 373 | #define MI_ARB_ISOCH_WAIT_GTT (1 << 14) | ||
| 374 | |||
| 375 | /* Block grant count for isoch requests when block count is | ||
| 376 | * set to a finite value. | ||
| 377 | */ | ||
| 378 | #define MI_ARB_BLOCK_GRANT_MASK (3 << 12) | ||
| 379 | #define MI_ARB_BLOCK_GRANT_8 (0 << 12) /* for 3 display planes */ | ||
| 380 | #define MI_ARB_BLOCK_GRANT_4 (1 << 12) /* for 2 display planes */ | ||
| 381 | #define MI_ARB_BLOCK_GRANT_2 (2 << 12) /* for 1 display plane */ | ||
| 382 | #define MI_ARB_BLOCK_GRANT_0 (3 << 12) /* don't use */ | ||
| 383 | |||
| 384 | /* Enable render writes to complete in C2/C3/C4 power states. | ||
| 385 | * If this isn't enabled, render writes are prevented in low | ||
| 386 | * power states. That seems bad to me. | ||
| 387 | */ | ||
| 388 | #define MI_ARB_C3_LP_WRITE_ENABLE (1 << 11) | ||
| 389 | |||
| 390 | /* This acknowledges an async flip immediately instead | ||
| 391 | * of waiting for 2TLB fetches. | ||
| 392 | */ | ||
| 393 | #define MI_ARB_ASYNC_FLIP_ACK_IMMEDIATE (1 << 10) | ||
| 394 | |||
| 395 | /* Enables non-sequential data reads through arbiter | ||
| 396 | */ | ||
| 397 | #define MI_ARB_DUAL_DATA_PHASE_DISABLE (1 << 9) | ||
| 398 | |||
| 399 | /* Disable FSB snooping of cacheable write cycles from binner/render | ||
| 400 | * command stream | ||
| 401 | */ | ||
| 402 | #define MI_ARB_CACHE_SNOOP_DISABLE (1 << 8) | ||
| 403 | |||
| 404 | /* Arbiter time slice for non-isoch streams */ | ||
| 405 | #define MI_ARB_TIME_SLICE_MASK (7 << 5) | ||
| 406 | #define MI_ARB_TIME_SLICE_1 (0 << 5) | ||
| 407 | #define MI_ARB_TIME_SLICE_2 (1 << 5) | ||
| 408 | #define MI_ARB_TIME_SLICE_4 (2 << 5) | ||
| 409 | #define MI_ARB_TIME_SLICE_6 (3 << 5) | ||
| 410 | #define MI_ARB_TIME_SLICE_8 (4 << 5) | ||
| 411 | #define MI_ARB_TIME_SLICE_10 (5 << 5) | ||
| 412 | #define MI_ARB_TIME_SLICE_14 (6 << 5) | ||
| 413 | #define MI_ARB_TIME_SLICE_16 (7 << 5) | ||
| 414 | |||
| 415 | /* Low priority grace period page size */ | ||
| 416 | #define MI_ARB_LOW_PRIORITY_GRACE_4KB (0 << 4) /* default */ | ||
| 417 | #define MI_ARB_LOW_PRIORITY_GRACE_8KB (1 << 4) | ||
| 418 | |||
| 419 | /* Disable display A/B trickle feed */ | ||
| 420 | #define MI_ARB_DISPLAY_TRICKLE_FEED_DISABLE (1 << 2) | ||
| 421 | |||
| 422 | /* Set display plane priority */ | ||
| 423 | #define MI_ARB_DISPLAY_PRIORITY_A_B (0 << 0) /* display A > display B */ | ||
| 424 | #define MI_ARB_DISPLAY_PRIORITY_B_A (1 << 0) /* display B > display A */ | ||
| 425 | |||
| 362 | #define CACHE_MODE_0 0x02120 /* 915+ only */ | 426 | #define CACHE_MODE_0 0x02120 /* 915+ only */ |
| 363 | #define CM0_MASK_SHIFT 16 | 427 | #define CM0_MASK_SHIFT 16 |
| 364 | #define CM0_IZ_OPT_DISABLE (1<<6) | 428 | #define CM0_IZ_OPT_DISABLE (1<<6) |
