summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx23885
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2007-09-06 15:07:49 -0400
committerSteven Toth <stoth@hauppauge.com>2007-09-06 15:07:49 -0400
commit40003635ce2746dc471ee224c86bd5df01bf9d18 (patch)
tree951a0fe5680a2a73b48939a4eb0d9f8b3ebda1a0 /linux/drivers/media/video/cx23885
parent4cb6954cc185565789a9aed7975a62ca6cda5ab2 (diff)
downloadmediapointer-dvb-s2-40003635ce2746dc471ee224c86bd5df01bf9d18.tar.gz
mediapointer-dvb-s2-40003635ce2746dc471ee224c86bd5df01bf9d18.tar.bz2
Ensure start_dma() is capable of starting dma on port VIDB.
From: Steven Toth <stoth@hauppauge.com> start_dma() would fail to start dma if a device used VIDB (portb). Signed-off-by: Steven Toth <stoth@hauppauge.com>
Diffstat (limited to 'linux/drivers/media/video/cx23885')
-rw-r--r--linux/drivers/media/video/cx23885/cx23885-core.c9
-rw-r--r--linux/drivers/media/video/cx23885/cx23885.h10
2 files changed, 12 insertions, 7 deletions
diff --git a/linux/drivers/media/video/cx23885/cx23885-core.c b/linux/drivers/media/video/cx23885/cx23885-core.c
index 7dd6dfd01..362d7e1e4 100644
--- a/linux/drivers/media/video/cx23885/cx23885-core.c
+++ b/linux/drivers/media/video/cx23885/cx23885-core.c
@@ -1016,9 +1016,12 @@ static int cx23885_start_dma(struct cx23885_tsport *port,
/* write TS length to chip */
cx_write(port->reg_lngth, buf->vb.width);
- if (!(cx23885_boards[dev->board].portc & CX23885_MPEG_DVB)) {
- printk( "%s() Failed. Unsupported value in .portc (0x%08x)\n",
- __FUNCTION__, cx23885_boards[dev->board].portc );
+ if ( (!(cx23885_boards[dev->board].portb & CX23885_MPEG_DVB)) &&
+ (!(cx23885_boards[dev->board].portc & CX23885_MPEG_DVB)) ) {
+ printk( "%s() Failed. Unsupported value in .portb/c (0x%08x)/(0x%08x)\n",
+ __FUNCTION__,
+ cx23885_boards[dev->board].portb,
+ cx23885_boards[dev->board].portc );
return -EINVAL;
}
diff --git a/linux/drivers/media/video/cx23885/cx23885.h b/linux/drivers/media/video/cx23885/cx23885.h
index 66cc04cfa..d718e40fe 100644
--- a/linux/drivers/media/video/cx23885/cx23885.h
+++ b/linux/drivers/media/video/cx23885/cx23885.h
@@ -89,12 +89,14 @@ struct cx23885_input {
u32 gpio0, gpio1, gpio2, gpio3;
};
+typedef enum {
+ CX23885_MPEG_UNDEFINED = 0,
+ CX23885_MPEG_DVB
+} port_t;
+
struct cx23885_board {
char *name;
- enum {
- CX23885_MPEG_UNDEFINED = 0,
- CX23885_MPEG_DVB
- } portc;
+ port_t portb, portc;
struct cx23885_input input[MAX_CX23885_INPUT];
};