diff options
author | Andy Walls <awalls@radix.net> | 2008-11-04 22:49:14 -0500 |
---|---|---|
committer | Andy Walls <awalls@radix.net> | 2008-11-04 22:49:14 -0500 |
commit | 94703235501e112e7496efe5bce32671e121d98f (patch) | |
tree | 9d23310015b8f54648ea3345e0eb4e571ccde52e /linux/drivers/media/video/cx18/cx18-irq.h | |
parent | 817788e2c69eb1c7538e780de3acb5a95440b6c2 (diff) | |
download | mediapointer-dvb-s2-94703235501e112e7496efe5bce32671e121d98f.tar.gz mediapointer-dvb-s2-94703235501e112e7496efe5bce32671e121d98f.tar.bz2 |
cx18: Move DVB buffer transfer handling from irq handler to work_queue
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>
Diffstat (limited to 'linux/drivers/media/video/cx18/cx18-irq.h')
-rw-r--r-- | linux/drivers/media/video/cx18/cx18-irq.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/linux/drivers/media/video/cx18/cx18-irq.h b/linux/drivers/media/video/cx18/cx18-irq.h index cbcd2022f..d1d9d1967 100644 --- a/linux/drivers/media/video/cx18/cx18-irq.h +++ b/linux/drivers/media/video/cx18/cx18-irq.h @@ -36,6 +36,8 @@ irqreturn_t cx18_irq_handler(int irq, void *dev_id, struct pt_regs *regs); irqreturn_t cx18_irq_handler(int irq, void *dev_id); #endif -void cx18_irq_work_handler(struct work_struct *work); -void cx18_dma_stream_dec_prepare(struct cx18_stream *s, u32 offset, int lock); -void cx18_unfinished_dma(unsigned long arg); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20) +void cx18_work_handler(struct work_struct *work); +#else +void cx18_work_handler(void *arg); +#endif |