Age | Commit message (Collapse) | Author |
|
From: Andy Walls <awalls@radix.net>
Add copyright attribution for files modified by awalls in 2008
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
Restore buffers that have fallen out of the transfer rotation, and check
for coherent mailbox data when processing a stale mailbox.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
Convert the per stream queue spinlocks into mutexes. All queue
manipulation happens via the work queue or system calls into the driver, and
not in an interrupt context. This reduces the amout of time the cx18 driver
keeps interrupts disabled.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
A major rewrite of interrupt handling for incoming mailbox processing, to split
the timing critical steps from the the deferrable steps as the sending XPU on
the CX23418 will time out and overwrite our incoming mailboxes rather quickly.
Setup a pool of work "order forms" for the irq handler to send jobs to the new
work handler routine which uses the kernel default work queue to do the
deferrable work. Started optimizing some of the cx18-io calls as they are now
the low hanging fruit for recoving microseconds back from the timeline.
Future optimizations will get rid of mmio read retries, mmio stats logging, and
combine smaller functions in the irq path into the larger ones to save ~2 us
each.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
cx18: Move DVB buffer transfer handling from irq handler to work_queue thread.
In order to properly lock the epu2cpu mailbox for driver to CX23418 commands,
the DVB/TS buffer handling needs to be moved from the IRQ handler and IRQ
context to a work queue. This work_queue implmentation is strikingly similar
to the ivtv implementation - for better or worse.
Priority: high
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Andy Walls <awalls@radix.net>
cx18: Convert cx18_queue buffers member to atomic_t. This allows safe
concurrent access to check if a queue has data without having to acquire the
queue spinlock.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
cx18: Remove redundant struct cx18_queue length member. It can be trivially
computed from queue->buffers * stream->buf_size, if ever really needed.
Priority: normal
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Andy Walls <awalls@radix.net>
cx18: Simplify queue flush logic to prevent oops in cx18_flush_queues().
If accounting of a queue is in error, logic borrowed from ivtv will cause
an oops when flushing the queues for a stream. This change greatly
simplifies the queue flush logic, and sets the queue back to sane
defaults on a flush.
Priority: high
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Fixed a lot of sparse warnings: mostly warnings about shadowed variables
and signed/unsigned mismatches.
Priority: normal
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Andy Walls <awalls@radix.net>
cx18: Add missing lock for when the irq handler manipulates the queues. This
was a potential source of stream queue corruption. Also changed the name of
cx18_queue_find_buf() to cx18_queue_get_buf_irq().
Priority: high
Signed-off-by: Andy Walls <awalls@radix.net>
|
|
From: Adrian Bunk <bunk@kernel.org>
This patch contains the following possible cleanups:
- cx18-i2c.c should #include "cx18-i2c.h" for getting the prototypes of
it's global functions
- make the following needlessly global functions static:
- cx18-fileops.c:cx18_claim_stream()
- cx18-fileops.c:cx18_release_stream()
- cx18-queue.c:cx18_queue_move()
- remove the following unused functions:
- cx18-driver.c:cx18_waitq()
- cx18-queue.c:cx18_buf_copy_from_user()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Reviewed-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
- don't show kernel backtrace when the allocation of the buffers fails: the
normal ivtv/cx18 messages are clear enough and the backtrace scares users.
- fix cleanup after the buffer allocation fails (caused kernel panic).
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
|
|
From: Hans Verkuil <hverkuil@xs4all.nl>
Many thanks to Steve Toth from Hauppauge and Nattu Dakshinamurthy from
Conexant for their support. I am in particular thankful to Hauppauge
since without their help this driver would not exist. It should also
be noted that Steve did the work to get the DVB part up and running.
Thank you!
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Steven Toth <stoth@hauppauge.com>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: G. Andrew Walls <awalls@radix.net>
|