Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3bd40659 authored by Steven Toth's avatar Steven Toth Committed by Mauro Carvalho Chehab
Browse files

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: default avatarSteven Toth <stoth@hauppauge.com>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent a2129af5
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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__ );