diff options
author | Andy Walls <awalls@radix.net> | 2008-11-05 23:15:41 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-30 06:38:02 -0500 |
commit | 72c2d6d3ac91d1b9efb482ff4a8dd68e3d867965 (patch) | |
tree | 0e80f865ac4763e30eb7777360fbf3d860b140f0 /drivers/media/video/cx18/cx18-driver.h | |
parent | f68d0cf56761128e85ebc98d8de4776b89c30279 (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.h | 7 |
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; |