summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/cx18/cx18-irq.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-11-04 22:49:14 -0500
committerAndy Walls <awalls@radix.net>2008-11-04 22:49:14 -0500
commit94703235501e112e7496efe5bce32671e121d98f (patch)
tree9d23310015b8f54648ea3345e0eb4e571ccde52e /linux/drivers/media/video/cx18/cx18-irq.h
parent817788e2c69eb1c7538e780de3acb5a95440b6c2 (diff)
downloadmediapointer-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.h8
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