diff options
Diffstat (limited to 'linux/drivers/media/video/cx88/cx88-mpeg.c')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-mpeg.c | 21 |
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) { |