diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2007-03-10 04:52:02 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:24 -0400 |
commit | 1e13f9e3f1501cc167e40a2adf07e6e4705cb331 (patch) | |
tree | d55c1c1a50b865752867919c6de715adfd9a56d5 /drivers/media/video/ivtv/ivtv-driver.h | |
parent | 037c86c53362b0b3dda6201c9f62f64c9d17abb6 (diff) |
V4L/DVB (5404): Merges VBI & YUV handling into a single work queue.
Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/ivtv/ivtv-driver.h')
-rw-r--r-- | drivers/media/video/ivtv/ivtv-driver.h | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/drivers/media/video/ivtv/ivtv-driver.h b/drivers/media/video/ivtv/ivtv-driver.h index 236e3532f569..1b2f7a6d311e 100644 --- a/drivers/media/video/ivtv/ivtv-driver.h +++ b/drivers/media/video/ivtv/ivtv-driver.h | |||
@@ -383,28 +383,29 @@ struct ivtv_mailbox_data { | |||
383 | #define IVTV_F_S_APPL_IO 8 /* this stream is used read/written by an application */ | 383 | #define IVTV_F_S_APPL_IO 8 /* this stream is used read/written by an application */ |
384 | 384 | ||
385 | /* per-ivtv, i_flags */ | 385 | /* per-ivtv, i_flags */ |
386 | #define IVTV_F_I_DMA 0 /* DMA in progress */ | 386 | #define IVTV_F_I_DMA 0 /* DMA in progress */ |
387 | #define IVTV_F_I_UDMA 1 /* UDMA in progress */ | 387 | #define IVTV_F_I_UDMA 1 /* UDMA in progress */ |
388 | #define IVTV_F_I_UDMA_PENDING 2 /* UDMA pending */ | 388 | #define IVTV_F_I_UDMA_PENDING 2 /* UDMA pending */ |
389 | 389 | #define IVTV_F_I_SPEED_CHANGE 3 /* A speed change is in progress */ | |
390 | #define IVTV_F_I_SPEED_CHANGE 3 /* A speed change is in progress */ | 390 | #define IVTV_F_I_EOS 4 /* End of encoder stream reached */ |
391 | #define IVTV_F_I_EOS 4 /* End of encoder stream reached */ | 391 | #define IVTV_F_I_RADIO_USER 5 /* The radio tuner is selected */ |
392 | #define IVTV_F_I_RADIO_USER 5 /* The radio tuner is selected */ | 392 | #define IVTV_F_I_DIG_RST 6 /* Reset digitizer */ |
393 | #define IVTV_F_I_DIG_RST 6 /* Reset digitizer */ | 393 | #define IVTV_F_I_DEC_YUV 7 /* YUV instead of MPG is being decoded */ |
394 | #define IVTV_F_I_DEC_YUV 7 /* YUV instead of MPG is being decoded */ | 394 | #define IVTV_F_I_ENC_VBI 8 /* VBI DMA */ |
395 | #define IVTV_F_I_ENC_VBI 8 /* VBI DMA */ | 395 | #define IVTV_F_I_UPDATE_CC 9 /* CC should be updated */ |
396 | #define IVTV_F_I_UPDATE_CC 9 /* CC should be updated */ | 396 | #define IVTV_F_I_UPDATE_WSS 10 /* WSS should be updated */ |
397 | #define IVTV_F_I_UPDATE_WSS 10 /* WSS should be updated */ | 397 | #define IVTV_F_I_UPDATE_VPS 11 /* VPS should be updated */ |
398 | #define IVTV_F_I_UPDATE_VPS 11 /* VPS should be updated */ | 398 | #define IVTV_F_I_DECODING_YUV 12 /* this stream is YUV frame decoding */ |
399 | #define IVTV_F_I_DECODING_YUV 12 /* this stream is YUV frame decoding */ | 399 | #define IVTV_F_I_ENC_PAUSED 13 /* the encoder is paused */ |
400 | #define IVTV_F_I_ENC_PAUSED 13 /* the encoder is paused */ | ||
401 | #define IVTV_F_I_VALID_DEC_TIMINGS 14 /* last_dec_timing is valid */ | 400 | #define IVTV_F_I_VALID_DEC_TIMINGS 14 /* last_dec_timing is valid */ |
401 | #define IVTV_F_I_WORK_HANDLER_VBI 15 /* there is work to be done for VBI */ | ||
402 | #define IVTV_F_I_WORK_HANDLER_YUV 16 /* there is work to be done for YUV */ | ||
402 | 403 | ||
403 | /* Event notifications */ | 404 | /* Event notifications */ |
404 | #define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */ | 405 | #define IVTV_F_I_EV_DEC_STOPPED 28 /* decoder stopped event */ |
405 | #define IVTV_F_I_EV_VSYNC 29 /* VSYNC event */ | 406 | #define IVTV_F_I_EV_VSYNC 29 /* VSYNC event */ |
406 | #define IVTV_F_I_EV_VSYNC_FIELD 30 /* VSYNC event field (0 = first, 1 = second field) */ | 407 | #define IVTV_F_I_EV_VSYNC_FIELD 30 /* VSYNC event field (0 = first, 1 = second field) */ |
407 | #define IVTV_F_I_EV_VSYNC_ENABLED 31 /* VSYNC event enabled */ | 408 | #define IVTV_F_I_EV_VSYNC_ENABLED 31 /* VSYNC event enabled */ |
408 | 409 | ||
409 | /* Scatter-Gather array element, used in DMA transfers */ | 410 | /* Scatter-Gather array element, used in DMA transfers */ |
410 | struct ivtv_SG_element { | 411 | struct ivtv_SG_element { |
@@ -612,8 +613,6 @@ struct yuv_playback_info | |||
612 | 613 | ||
613 | u32 yuv_forced_update; | 614 | u32 yuv_forced_update; |
614 | int update_frame; | 615 | int update_frame; |
615 | struct workqueue_struct *work_queues; | ||
616 | struct work_struct work_queue; | ||
617 | struct yuv_frame_info new_frame_info[4]; | 616 | struct yuv_frame_info new_frame_info[4]; |
618 | struct yuv_frame_info old_frame_info; | 617 | struct yuv_frame_info old_frame_info; |
619 | struct yuv_frame_info old_frame_info_args; | 618 | struct yuv_frame_info old_frame_info_args; |
@@ -676,8 +675,6 @@ struct vbi_info { | |||
676 | struct ivtv_buffer sliced_mpeg_buf; | 675 | struct ivtv_buffer sliced_mpeg_buf; |
677 | u32 inserted_frame; | 676 | u32 inserted_frame; |
678 | 677 | ||
679 | struct workqueue_struct *work_queues; | ||
680 | struct work_struct work_queue; | ||
681 | u32 start[2], count; | 678 | u32 start[2], count; |
682 | u32 raw_size; | 679 | u32 raw_size; |
683 | u32 sliced_size; | 680 | u32 sliced_size; |
@@ -734,6 +731,9 @@ struct ivtv { | |||
734 | 731 | ||
735 | u32 base_addr; | 732 | u32 base_addr; |
736 | u32 irqmask; | 733 | u32 irqmask; |
734 | |||
735 | struct workqueue_struct *irq_work_queues; | ||
736 | struct work_struct irq_work_queue; | ||
737 | struct timer_list dma_timer; /* Timer used to catch unfinished DMAs */ | 737 | struct timer_list dma_timer; /* Timer used to catch unfinished DMAs */ |
738 | 738 | ||
739 | struct vbi_info vbi; | 739 | struct vbi_info vbi; |