]> err.no Git - linux-2.6/commitdiff
V4L/DVB (6154): NMI hang and corrupt transport packet fixes
authorSteven Toth <stoth@hauppauge.com>
Mon, 19 Mar 2007 20:46:03 +0000 (17:46 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 10 Oct 2007 01:08:01 +0000 (22:08 -0300)
The sram allocations for the cx23887 differ slightly from the cx23885.
This patch modifies the cx23887 specific sram memory map to reflect this.
As a result, interrupts and DMA handling have also been enabled in
cx23885_start_dma() for 887 specific boards.

ATSC streaming is now available on cx23885 and cx23887 bridges.

Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/video/cx23885/cx23885-core.c

index fda0c1631dbd45785397eb5de327414b521fd5bb..5769db47529cacd0d70e1d4a2ad0ca85b23f0461 100644 (file)
@@ -270,7 +270,7 @@ struct sram_channel cx23887_sram_channels[] = {
                .name           = "TS2 C",
                .cmds_start     = 0x10140,
                .ctrl_start     = 0x10680,
-               .cdt            = 0x10480,
+               .cdt            = 0x108d0,
                .fifo_start     = 0x6000,
                .fifo_size      = 0x1000,
                .ptr1_reg       = DMA5_PTR1,
@@ -1095,16 +1095,13 @@ static int cx23885_start_dma(struct cx23885_tsport *port,
         */
        switch(cx23885_boards[dev->board].bridge) {
        case CX23885_BRIDGE_885:
+       case CX23885_BRIDGE_887:
                /* enable irqs */
                dprintk(1, "%s() enabling TS int's and DMA\n", __FUNCTION__ );
                cx_set(port->reg_ts_int_msk,  port->ts_int_msk_val);
                cx_set(port->reg_dma_ctl, port->dma_ctl_val);
                cx_set(PCI_INT_MSK, dev->pci_irqmask | port->pci_irqmask);
                break;
-       case CX23885_BRIDGE_887:
-               // FIXME
-               dprintk(1, "%s() NOT enabling TS int's and DMA, NMI bug\n", __FUNCTION__ );
-               break;
        default:
                // FIXME: generate a sensible switch-default message
                printk(KERN_ERR "%s() error, default case", __FUNCTION__ );