diff options
author | Steven Toth <stoth@hauppauge.com> | 2007-03-19 16:46:03 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-10-09 21:08:01 -0400 |
commit | 3bd4065961aa03d030cd58feec03d60479fc4348 (patch) | |
tree | 6b22ebbed73220be33a4a6d3143fb2f07b3accc0 /drivers | |
parent | a2129af5b65e28dc3a10402603aa714e493b2169 (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.c | 7 |
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__ ); |