V4L/DVB (9804): cx18: Avoid making firmware API calls with the queue lock held
authorAndy Walls <awalls@radix.net>
Fri, 12 Dec 2008 18:50:27 +0000 (15:50 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 30 Dec 2008 11:38:32 +0000 (09:38 -0200)
commitabb096de82f6f920a06ca935f76925261e66b556
tree51f71ecb1d420083e54162b32733cf237b5b2393
parent765f6f612ef69ada79f7ec2627dcbc49276bf7b5
V4L/DVB (9804): cx18: Avoid making firmware API calls with the queue lock held

cx18: Avoid making firmware API calls with the queue lock held.  The source
of MPEG strem corruption when not holding the queue lock was found to be that
the MPEG buffer could be retrieved by the user app before it was sync'ed for
the host cpu.  Incoming buffers are now sync'ed before being put on q_full and
releasing the queue lock.  We can thus avoid the sometimes lengthy call to
the firmware for CPU_DE_SET_MDL while holding the queue lock, so we can get
better performance.

Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx18/cx18-mailbox.c
drivers/media/video/cx18/cx18-queue.c
drivers/media/video/cx18/cx18-streams.c
drivers/media/video/cx18/cx18-streams.h