aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/intelfb/intelfbhw.h
diff options
context:
space:
mode:
authorKrzysztof Halasa <khc@pm.waw.pl>2007-10-16 04:29:34 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 12:43:20 -0400
commit394d3af7ba9e67d630c1c6d2ac1d9c11b318b73e (patch)
tree7057c8c671e7bc33753830928c82c9c5378cd496 /drivers/video/intelfb/intelfbhw.h
parent28ebe4f66beda8f142569d24fe3b168f8a08a6a6 (diff)
Intel FB: more interlaced mode support
Intel FB: allow odd- and even-field-first in interlaced modes, and proper sync to vertical retrace Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Cc: "Antonino A. Daplas" <adaplas@pol.net> Cc: <sylvain.meyer@worldonline.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/video/intelfb/intelfbhw.h')
-rw-r--r--drivers/video/intelfb/intelfbhw.h30
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/video/intelfb/intelfbhw.h b/drivers/video/intelfb/intelfbhw.h
index 3cbfcef83361..0b076bac321b 100644
--- a/drivers/video/intelfb/intelfbhw.h
+++ b/drivers/video/intelfb/intelfbhw.h
@@ -280,6 +280,9 @@
280#define PIPEB_DSL 0x71000 280#define PIPEB_DSL 0x71000
281#define PIPEACONF 0x70008 281#define PIPEACONF 0x70008
282#define PIPEBCONF 0x71008 282#define PIPEBCONF 0x71008
283#define PIPEASTAT 0x70024 /* bits 0-15 are "write 1 to clear" */
284#define PIPEBSTAT 0x71024
285
283#define PIPECONF_ENABLE (1 << 31) 286#define PIPECONF_ENABLE (1 << 31)
284#define PIPECONF_DISABLE 0 287#define PIPECONF_DISABLE 0
285#define PIPECONF_DOUBLE_WIDE (1 << 30) 288#define PIPECONF_DOUBLE_WIDE (1 << 30)
@@ -293,6 +296,31 @@
293#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21) 296#define PIPECONF_INTERLACE_FIELD_0_ONLY (7 << 21)
294#define PIPECONF_INTERLACE_MASK (7 << 21) 297#define PIPECONF_INTERLACE_MASK (7 << 21)
295 298
299/* enable bits, write 1 to enable */
300#define PIPESTAT_FIFO_UNDERRUN (1 << 31)
301#define PIPESTAT_CRC_ERROR_EN (1 << 29)
302#define PIPESTAT_CRC_DONE_EN (1 << 28)
303#define PIPESTAT_HOTPLUG_EN (1 << 26)
304#define PIPESTAT_VERTICAL_SYNC_EN (1 << 25)
305#define PIPESTAT_DISPLINE_COMP_EN (1 << 24)
306#define PIPESTAT_FLD_EVT_ODD_EN (1 << 21)
307#define PIPESTAT_FLD_EVT_EVEN_EN (1 << 20)
308#define PIPESTAT_TV_HOTPLUG_EN (1 << 18)
309#define PIPESTAT_VBLANK_EN (1 << 17)
310#define PIPESTAT_OVL_UPDATE_EN (1 << 16)
311/* status bits, write 1 to clear */
312#define PIPESTAT_HOTPLUG_STATE (1 << 15)
313#define PIPESTAT_CRC_ERROR (1 << 13)
314#define PIPESTAT_CRC_DONE (1 << 12)
315#define PIPESTAT_HOTPLUG (1 << 10)
316#define PIPESTAT_VSYNC (1 << 9)
317#define PIPESTAT_DISPLINE_COMP (1 << 8)
318#define PIPESTAT_FLD_EVT_ODD (1 << 5)
319#define PIPESTAT_FLD_EVT_EVEN (1 << 4)
320#define PIPESTAT_TV_HOTPLUG (1 << 2)
321#define PIPESTAT_VBLANK (1 << 1)
322#define PIPESTAT_OVL_UPDATE (1 << 0)
323
296#define DISPARB 0x70030 324#define DISPARB 0x70030
297#define DISPARB_AEND_MASK 0x1ff 325#define DISPARB_AEND_MASK 0x1ff
298#define DISPARB_AEND_SHIFT 0 326#define DISPARB_AEND_SHIFT 0
@@ -573,7 +601,7 @@ extern void intelfbhw_cursor_setcolor(struct intelfb_info *dinfo, u32 bg,
573extern void intelfbhw_cursor_load(struct intelfb_info *dinfo, int width, 601extern void intelfbhw_cursor_load(struct intelfb_info *dinfo, int width,
574 int height, u8 *data); 602 int height, u8 *data);
575extern void intelfbhw_cursor_reset(struct intelfb_info *dinfo); 603extern void intelfbhw_cursor_reset(struct intelfb_info *dinfo);
576extern int intelfbhw_enable_irq(struct intelfb_info *dinfo, int reenable); 604extern int intelfbhw_enable_irq(struct intelfb_info *dinfo);
577extern void intelfbhw_disable_irq(struct intelfb_info *dinfo); 605extern void intelfbhw_disable_irq(struct intelfb_info *dinfo);
578extern int intelfbhw_wait_for_vsync(struct intelfb_info *dinfo, u32 pipe); 606extern int intelfbhw_wait_for_vsync(struct intelfb_info *dinfo, u32 pipe);
579 607