aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-01-28 08:49:19 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-02-10 11:21:49 -0500
commitd442ae181ba86085c3add085d5cb4482a8ccca68 (patch)
tree87429ada4b348f95043618a3c906bcd5e137363f /drivers/gpu/drm
parent9edd576d89a5b6d3e136d7dcab654d887c0d25b7 (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.h17
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)