aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-07-28 22:01:38 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-08-01 12:43:10 -0700
commita4401924329d5ff3e696d3de00e9277633a28769 (patch)
tree900d967e0cfbde2709bac05bc61b6cc31f6b5086
parent21eaee6a33f810ae48d643de0a183cce5c07dffa (diff)
DVB: cx23885: Reallocated the sram to avoid concurrent VIDB/C issues
(cherry picked from commit d8d12b4367e2e759f65c5f9dcb94d21ec237bbc5) DVB: cx23885: Reallocated the sram to avoid concurrent VIDB/C issues 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: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/media/video/cx23885/cx23885-core.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index f555d304f2fd..0d5d4dfffe44 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -80,8 +80,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,
@@ -104,8 +104,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,
@@ -140,8 +140,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,
@@ -1043,6 +1043,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 ],