diff options
author | Andy Walls <awalls@radix.net> | 2009-04-13 22:08:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-06-16 17:20:44 -0400 |
commit | 40c5520f55924ba87090d0d93222baad74202559 (patch) | |
tree | 731576eb5bb3c37df60c8cc78adbfc4d18bc0dd4 /drivers/media/video/cx18/cx18-driver.h | |
parent | 5f0a3cfcfd315d87de8f80af49b114daf7137823 (diff) |
V4L/DVB (11618): cx18: Convert per stream mutex locks to per queue spin locks
To avoid sleeps in providing buffers to user space and in handling incoming
buffers from the capture unit, converted the per stream mutex for locking
queues to 3 spin locks. There is now a spin lock per queue
to increase concurrency when moving buffers around.
Also simplified queue manipulations and buffer handling of incoming buffers
of data from the capture unit.
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 | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h index 62dca432fdbb..35a6758a7aac 100644 --- a/drivers/media/video/cx18/cx18-driver.h +++ b/drivers/media/video/cx18/cx18-driver.h | |||
@@ -286,6 +286,7 @@ struct cx18_queue { | |||
286 | struct list_head list; | 286 | struct list_head list; |
287 | atomic_t buffers; | 287 | atomic_t buffers; |
288 | u32 bytesused; | 288 | u32 bytesused; |
289 | spinlock_t lock; | ||
289 | }; | 290 | }; |
290 | 291 | ||
291 | struct cx18_dvb { | 292 | struct cx18_dvb { |
@@ -365,7 +366,6 @@ struct cx18_stream { | |||
365 | unsigned mdl_offset; | 366 | unsigned mdl_offset; |
366 | 367 | ||
367 | u32 id; | 368 | u32 id; |
368 | struct mutex qlock; /* locks access to the queues */ | ||
369 | unsigned long s_flags; /* status flags, see above */ | 369 | unsigned long s_flags; /* status flags, see above */ |
370 | int dma; /* can be PCI_DMA_TODEVICE, | 370 | int dma; /* can be PCI_DMA_TODEVICE, |
371 | PCI_DMA_FROMDEVICE or | 371 | PCI_DMA_FROMDEVICE or |