aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ivtv/ivtv-driver.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2010-06-29 04:07:09 -0400
committerTejun Heo <tj@kernel.org>2010-06-29 04:07:09 -0400
commit7bc465605ffa90b281d6b774fcb13911636a6d45 (patch)
treed3f17ab707db89632b47a8247c1d5b4716830e99 /drivers/media/video/ivtv/ivtv-driver.h
parentb56c0d8937e665a27d90517ee7a746d0aa05af46 (diff)
ivtv: use kthread_worker instead of workqueue
Upcoming workqueue updates will no longer guarantee fixed workqueue to worker kthread association, so giving RT priority to the irq worker won't work. Use kthread_worker which guarantees specific kthread association instead. This also makes setting the priority cleaner. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Andy Walls <awalls@md.metrocast.net> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: ivtv-devel@ivtvdriver.org Cc: linux-media@vger.kernel.org
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.h')
-rw-r--r--drivers/media/video/ivtv/ivtv-driver.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h
index 5b45fd2b2645..51f7f2a9cf5e 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -51,7 +51,7 @@
51#include <linux/unistd.h> 51#include <linux/unistd.h>
52#include <linux/pagemap.h> 52#include <linux/pagemap.h>
53#include <linux/scatterlist.h> 53#include <linux/scatterlist.h>
54#include <linux/workqueue.h> 54#include <linux/kthread.h>
55#include <linux/mutex.h> 55#include <linux/mutex.h>
56#include <linux/slab.h> 56#include <linux/slab.h>
57#include <asm/uaccess.h> 57#include <asm/uaccess.h>
@@ -257,7 +257,6 @@ struct ivtv_mailbox_data {
257#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */ 257#define IVTV_F_I_DEC_PAUSED 20 /* the decoder is paused */
258#define IVTV_F_I_INITED 21 /* set after first open */ 258#define IVTV_F_I_INITED 21 /* set after first open */
259#define IVTV_F_I_FAILED 22 /* set if first open failed */ 259#define IVTV_F_I_FAILED 22 /* set if first open failed */
260#define IVTV_F_I_WORK_INITED 23 /* worker thread was initialized */
261 260
262/* Event notifications */ 261/* Event notifications */
263#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */ 262#define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */
@@ -663,8 +662,9 @@ struct ivtv {
663 /* Interrupts & DMA */ 662 /* Interrupts & DMA */
664 u32 irqmask; /* active interrupts */ 663 u32 irqmask; /* active interrupts */
665 u32 irq_rr_idx; /* round-robin stream index */ 664 u32 irq_rr_idx; /* round-robin stream index */
666 struct workqueue_struct *irq_work_queues; /* workqueue for PIO/YUV/VBI actions */ 665 struct kthread_worker irq_worker; /* kthread worker for PIO/YUV/VBI actions */
667 struct work_struct irq_work_queue; /* work entry */ 666 struct task_struct *irq_worker_task; /* task for irq_worker */
667 struct kthread_work irq_work; /* kthread work entry */
668 spinlock_t dma_reg_lock; /* lock access to DMA engine registers */ 668 spinlock_t dma_reg_lock; /* lock access to DMA engine registers */
669 int cur_dma_stream; /* index of current stream doing DMA (-1 if none) */ 669 int cur_dma_stream; /* index of current stream doing DMA (-1 if none) */
670 int cur_pio_stream; /* index of current stream doing PIO (-1 if none) */ 670 int cur_pio_stream; /* index of current stream doing PIO (-1 if none) */