diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-01-28 08:49:19 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-02-10 11:21:49 -0500 |
commit | d442ae181ba86085c3add085d5cb4482a8ccca68 (patch) | |
tree | 87429ada4b348f95043618a3c906bcd5e137363f /drivers/gpu/drm | |
parent | 9edd576d89a5b6d3e136d7dcab654d887c0d25b7 (diff) |
drm/i915: clean up interlaced pipeconf bit definitions
- Clarify which bits are for which chips.
- Note that gen2 can't do interlaced directly (only via dvo tv chips).
- Move the mask to the top to make it clearer how wide this field is.
- Add defintions for all possible values.
This patch doesn't change any code.
v2: Paulo Zanoni pointed out that the pixel doubling modes do no
longer exist on ivb.
Cc: Peter Ross <pross@xvid.org>
Reviewed-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Tested-by: Christopher Egert <cme3000@gmail.com>
Tested-by: Alfonso Fiore <alfonso.fiore@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/i915/i915_reg.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 341ce44e732d..3369f829f46f 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -2387,10 +2387,21 @@ | |||
2387 | #define PIPECONF_PALETTE 0 | 2387 | #define PIPECONF_PALETTE 0 |
2388 | #define PIPECONF_GAMMA (1<<24) | 2388 | #define PIPECONF_GAMMA (1<<24) |
2389 | #define PIPECONF_FORCE_BORDER (1<<25) | 2389 | #define PIPECONF_FORCE_BORDER (1<<25) |
2390 | #define PIPECONF_PROGRESSIVE (0 << 21) | ||
2391 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) | ||
2392 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) | ||
2393 | #define PIPECONF_INTERLACE_MASK (7 << 21) | 2390 | #define PIPECONF_INTERLACE_MASK (7 << 21) |
2391 | /* Note that pre-gen3 does not support interlaced display directly. Panel | ||
2392 | * fitting must be disabled on pre-ilk for interlaced. */ | ||
2393 | #define PIPECONF_PROGRESSIVE (0 << 21) | ||
2394 | #define PIPECONF_INTERLACE_W_SYNC_SHIFT_PANEL (4 << 21) /* gen4 only */ | ||
2395 | #define PIPECONF_INTERLACE_W_SYNC_SHIFT (5 << 21) /* gen4 only */ | ||
2396 | #define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21) | ||
2397 | #define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) /* gen3 only */ | ||
2398 | /* Ironlake and later have a complete new set of values for interlaced. PFIT | ||
2399 | * means panel fitter required, PF means progressive fetch, DBL means power | ||
2400 | * saving pixel doubling. */ | ||
2401 | #define PIPECONF_PFIT_PF_INTERLACED_ILK (1 << 21) | ||
2402 | #define PIPECONF_INTERLACED_ILK (3 << 21) | ||
2403 | #define PIPECONF_INTERLACED_DBL_ILK (4 << 21) /* ilk/snb only */ | ||
2404 | #define PIPECONF_PFIT_PF_INTERLACED_DBL_ILK (5 << 21) /* ilk/snb only */ | ||
2394 | #define PIPECONF_CXSR_DOWNCLOCK (1<<16) | 2405 | #define PIPECONF_CXSR_DOWNCLOCK (1<<16) |
2395 | #define PIPECONF_BPP_MASK (0x000000e0) | 2406 | #define PIPECONF_BPP_MASK (0x000000e0) |
2396 | #define PIPECONF_BPP_8 (0<<5) | 2407 | #define PIPECONF_BPP_8 (0<<5) |