aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-driver.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-11-05 23:15:41 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 06:38:02 -0500
commit72c2d6d3ac91d1b9efb482ff4a8dd68e3d867965 (patch)
tree0e80f865ac4763e30eb7777360fbf3d860b140f0 /drivers/media/video/cx18/cx18-driver.h
parentf68d0cf56761128e85ebc98d8de4776b89c30279 (diff)
V4L/DVB (9593): cx18: Add outgoing mailbox mutexes and check for ack via waitq vs poll
Add mutexes to ensure exclusive access for outgoing driver to CX23418 mailboxes. Also wait on a waitq for mailbox acknowledgement from the CX23418 instead of polling. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.h')
-rw-r--r--drivers/media/video/cx18/cx18-driver.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index 04f1c624da7c..e2ec15549783 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -378,7 +378,10 @@ struct cx18 {
378 u32 v4l2_cap; /* V4L2 capabilities of card */ 378 u32 v4l2_cap; /* V4L2 capabilities of card */
379 u32 hw_flags; /* Hardware description of the board */ 379 u32 hw_flags; /* Hardware description of the board */
380 unsigned mdl_offset; 380 unsigned mdl_offset;
381 struct cx18_scb __iomem *scb; /* pointer to SCB */ 381 struct cx18_scb __iomem *scb; /* pointer to SCB */
382 struct mutex epu2apu_mb_lock; /* protect driver to chip mailbox in SCB*/
383 struct mutex epu2cpu_mb_lock; /* protect driver to chip mailbox in SCB*/
384
382 385
383 struct cx18_av_state av_state; 386 struct cx18_av_state av_state;
384 387
@@ -428,8 +431,6 @@ struct cx18 {
428 431
429 wait_queue_head_t mb_apu_waitq; 432 wait_queue_head_t mb_apu_waitq;
430 wait_queue_head_t mb_cpu_waitq; 433 wait_queue_head_t mb_cpu_waitq;
431 wait_queue_head_t mb_epu_waitq;
432 wait_queue_head_t mb_hpu_waitq;
433 wait_queue_head_t cap_w; 434 wait_queue_head_t cap_w;
434 /* when the current DMA is finished this queue is woken up */ 435 /* when the current DMA is finished this queue is woken up */
435 wait_queue_head_t dma_waitq; 436 wait_queue_head_t dma_waitq;