diff options
author | Steven Toth <stoth@hauppauge.com> | 2008-07-01 09:43:27 -0400 |
---|---|---|
committer | Steven Toth <stoth@hauppauge.com> | 2008-07-01 09:43:27 -0400 |
commit | 74da344e1653dc088e77c18c7608de0a8f1384bd (patch) | |
tree | 2bd2494b928646f5f6fa67f2d2725c693c07c00a | |
parent | bf0ba42500218953501a1bef8f3a1f5cc5237457 (diff) | |
download | mediapointer-dvb-s2-74da344e1653dc088e77c18c7608de0a8f1384bd.tar.gz mediapointer-dvb-s2-74da344e1653dc088e77c18c7608de0a8f1384bd.tar.bz2 |
cx23885: Reallocated the sram to avoid concurrent VIDB/C issues.
From: Steven Toth <stoth@hauppauge.com>
This may be cx23885 chip specific and may not work on the cx23887.
Analog and mpeg encoder streaming are still to be tested.
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: <>
-rw-r--r-- | linux/drivers/media/video/cx23885/cx23885-core.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-core.c b/linux/drivers/media/video/cx23885/cx23885-core.c index 7789649f8..6b71eaf51 100644 --- a/linux/drivers/media/video/cx23885/cx23885-core.c +++ b/linux/drivers/media/video/cx23885/cx23885-core.c @@ -81,8 +81,8 @@ static struct sram_channel cx23887_sram_channels[] = { [SRAM_CH01] = { .name = "VID A", .cmds_start = 0x10000, - .ctrl_start = 0x105b0, - .cdt = 0x107b0, + .ctrl_start = 0x10380, + .cdt = 0x104c0, .fifo_start = 0x40, .fifo_size = 0x2800, .ptr1_reg = DMA1_PTR1, @@ -105,8 +105,8 @@ static struct sram_channel cx23887_sram_channels[] = { [SRAM_CH03] = { .name = "TS1 B", .cmds_start = 0x100A0, - .ctrl_start = 0x10670, - .cdt = 0x10810, + .ctrl_start = 0x10400, + .cdt = 0x10580, .fifo_start = 0x5000, .fifo_size = 0x1000, .ptr1_reg = DMA3_PTR1, @@ -141,8 +141,8 @@ static struct sram_channel cx23887_sram_channels[] = { [SRAM_CH06] = { .name = "TS2 C", .cmds_start = 0x10140, - .ctrl_start = 0x10680, - .cdt = 0x108d0, + .ctrl_start = 0x10440, + .cdt = 0x105e0, .fifo_start = 0x6000, .fifo_size = 0x1000, .ptr1_reg = DMA5_PTR1, @@ -1045,6 +1045,9 @@ static int cx23885_start_dma(struct cx23885_tsport *port, dprintk(1, "%s() w: %d, h: %d, f: %d\n", __func__, buf->vb.width, buf->vb.height, buf->vb.field); + /* Stop the fifo and risc engine for this port */ + cx_clear(port->reg_dma_ctl, port->dma_ctl_val); + /* setup fifo + format */ cx23885_sram_channel_setup(dev, &dev->sram_channels[ port->sram_chno ], |