aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2007-03-19 16:46:03 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2007-10-09 21:08:01 -0400
commit3bd4065961aa03d030cd58feec03d60479fc4348 (patch)
tree6b22ebbed73220be33a4a6d3143fb2f07b3accc0 /drivers
parenta2129af5b65e28dc3a10402603aa714e493b2169 (diff)
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/cx23885/cx23885-core.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index fda0c1631dbd..5769db47529c 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -270,7 +270,7 @@ struct sram_channel cx23887_sram_channels[] = {
270 .name = "TS2 C", 270 .name = "TS2 C",
271 .cmds_start = 0x10140, 271 .cmds_start = 0x10140,
272 .ctrl_start = 0x10680, 272 .ctrl_start = 0x10680,
273 .cdt = 0x10480, 273 .cdt = 0x108d0,
274 .fifo_start = 0x6000, 274 .fifo_start = 0x6000,
275 .fifo_size = 0x1000, 275 .fifo_size = 0x1000,
276 .ptr1_reg = DMA5_PTR1, 276 .ptr1_reg = DMA5_PTR1,
@@ -1095,16 +1095,13 @@ static int cx23885_start_dma(struct cx23885_tsport *port,
1095 */ 1095 */
1096 switch(cx23885_boards[dev->board].bridge) { 1096 switch(cx23885_boards[dev->board].bridge) {
1097 case CX23885_BRIDGE_885: 1097 case CX23885_BRIDGE_885:
1098 case CX23885_BRIDGE_887:
1098 /* enable irqs */ 1099 /* enable irqs */
1099 dprintk(1, "%s() enabling TS int's and DMA\n", __FUNCTION__ ); 1100 dprintk(1, "%s() enabling TS int's and DMA\n", __FUNCTION__ );
1100 cx_set(port->reg_ts_int_msk, port->ts_int_msk_val); 1101 cx_set(port->reg_ts_int_msk, port->ts_int_msk_val);
1101 cx_set(port->reg_dma_ctl, port->dma_ctl_val); 1102 cx_set(port->reg_dma_ctl, port->dma_ctl_val);
1102 cx_set(PCI_INT_MSK, dev->pci_irqmask | port->pci_irqmask); 1103 cx_set(PCI_INT_MSK, dev->pci_irqmask | port->pci_irqmask);
1103 break; 1104 break;
1104 case CX23885_BRIDGE_887:
1105 // FIXME
1106 dprintk(1, "%s() NOT enabling TS int's and DMA, NMI bug\n", __FUNCTION__ );
1107 break;
1108 default: 1105 default:
1109 // FIXME: generate a sensible switch-default message 1106 // FIXME: generate a sensible switch-default message
1110 printk(KERN_ERR "%s() error, default case", __FUNCTION__ ); 1107 printk(KERN_ERR "%s() error, default case", __FUNCTION__ );