aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/intelfb
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2007-10-16 04:29:18 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:18 -0400
commit10b98368a0a94b015c1a596b7a02eff447a65226 (patch)
tree567997a1ba3e973c630aa203231f8c70aab316a0 /drivers/video/intelfb
parent68e5e9d734503695915734e50e9427624cf8f3b2 (diff)
Intel FB: support for interlaced video modes
Intel framebuffer now supports interlaced video modes. Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/intelfb')
-rw-r--r--drivers/video/intelfb/intelfbhw.c12
-rw-r--r--drivers/video/intelfb/intelfbhw.h4
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c
index 6a47682d8614..04d0e0fd9bc0 100644
--- a/drivers/video/intelfb/intelfbhw.c
+++ b/drivers/video/intelfb/intelfbhw.c
@@ -323,11 +323,7 @@ intelfbhw_validate_mode(struct intelfb_info *dinfo,
323 return 1; 323 return 1;
324 } 324 }
325 325
326 /* Check for interlaced/doublescan modes. */ 326 /* Check for doublescan modes. */
327 if (var->vmode & FB_VMODE_INTERLACED) {
328 WRN_MSG("Mode is interlaced.\n");
329 return 1;
330 }
331 if (var->vmode & FB_VMODE_DOUBLE) { 327 if (var->vmode & FB_VMODE_DOUBLE) {
332 WRN_MSG("Mode is double-scan.\n"); 328 WRN_MSG("Mode is double-scan.\n");
333 return 1; 329 return 1;
@@ -1220,6 +1216,12 @@ intelfbhw_mode_to_hw(struct intelfb_info *dinfo, struct intelfb_hwstate *hw,
1220 1216
1221 /* Set the palette to 8-bit mode. */ 1217 /* Set the palette to 8-bit mode. */
1222 *pipe_conf &= ~PIPECONF_GAMMA; 1218 *pipe_conf &= ~PIPECONF_GAMMA;
1219
1220 if (var->vmode & FB_VMODE_INTERLACED)
1221 *pipe_conf |= PIPECONF_INTERLACE_W_FIELD_INDICATION;
1222 else
1223 *pipe_conf &= ~PIPECONF_INTERLACE_MASK;
1224
1223 return 0; 1225 return 0;
1224} 1226}
1225 1227
diff --git a/drivers/video/intelfb/intelfbhw.h b/drivers/video/intelfb/intelfbhw.h
index 8c54ba8fbdda..cfcd53749484 100644
--- a/drivers/video/intelfb/intelfbhw.h
+++ b/drivers/video/intelfb/intelfbhw.h
@@ -286,6 +286,10 @@
286#define PIPECONF_UNLOCKED 0 286#define PIPECONF_UNLOCKED 0
287#define PIPECONF_GAMMA (1 << 24) 287#define PIPECONF_GAMMA (1 << 24)
288#define PIPECONF_PALETTE 0 288#define PIPECONF_PALETTE 0
289#define PIPECONF_PROGRESSIVE (0 << 21)
290#define PIPECONF_INTERLACE_W_FIELD_INDICATION (6 << 21)
291#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21)
292#define PIPECONF_INTERLACE_MASK (7 << 21)
289 293
290#define DISPARB 0x70030 294#define DISPARB 0x70030
291#define DISPARB_AEND_MASK 0x1ff 295#define DISPARB_AEND_MASK 0x1ff