V4L/DVB (6154): NMI hang and corrupt transport packet fixes

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>
This commit is contained in:
Steven Toth 2007-03-19 17:46:03 -03:00 committed by Mauro Carvalho Chehab
parent a2129af5b6
commit 3bd4065961
1 changed files with 2 additions and 5 deletions

View 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__ );