summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx88/cx88-mpeg.c
diff options
context:
space:
mode:
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r--linux/drivers/media/video/cx88/cx88-mpeg.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-mpeg.c b/linux/drivers/media/video/cx88/cx88-mpeg.c
index a5a2c48c0..bd09d16eb 100644
--- a/linux/drivers/media/video/cx88/cx88-mpeg.c
+++ b/linux/drivers/media/video/cx88/cx88-mpeg.c
@@ -1,5 +1,5 @@
/*
- * $Id: cx88-mpeg.c,v 1.19 2005/02/09 12:59:19 kraxel Exp $
+ * $Id: cx88-mpeg.c,v 1.20 2005/02/10 10:38:05 kraxel Exp $
*
* Support for the mpeg transport stream transfers
* PCI function #2 of the cx2388x.
@@ -69,8 +69,23 @@ static int cx8802_start_dma(struct cx8802_dev *dev,
* also: move to cx88-blackbird + cx88-dvb source files? */
if (cx88_boards[core->board].dvb) {
- /* Setup TS portion of chip */
- cx_write(TS_GEN_CNTRL, 0x0c);
+ /* negedge driven & software reset */
+ cx_write(TS_GEN_CNTRL, 0x40);
+ udelay(100);
+ cx_write(MO_PINMUX_IO, 0x00);
+ cx_write(TS_HW_SOP_CNTRL,47<<16|188<<4|0x00);
+ cx_write(TS_SOP_STAT,0x00);
+
+ switch (core->board) {
+ case CX88_BOARD_PCHDTV_HD3000:
+ /* non-punctured clock TS */
+ cx_write(TS_GEN_CNTRL, 0x00);
+ udelay(100);
+ break;
+ default:
+ cx_write(TS_GEN_CNTRL, 0x0c);
+ break;
+ }
}
if (cx88_boards[core->board].blackbird) {