diff options
Diffstat (limited to 'drivers/media/video/cx18/cx18-streams.h')
-rw-r--r-- | drivers/media/video/cx18/cx18-streams.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/drivers/media/video/cx18/cx18-streams.h b/drivers/media/video/cx18/cx18-streams.h index 420e0a172945..1afc3fd9d822 100644 --- a/drivers/media/video/cx18/cx18-streams.h +++ b/drivers/media/video/cx18/cx18-streams.h | |||
@@ -28,10 +28,24 @@ int cx18_streams_setup(struct cx18 *cx); | |||
28 | int cx18_streams_register(struct cx18 *cx); | 28 | int cx18_streams_register(struct cx18 *cx); |
29 | void cx18_streams_cleanup(struct cx18 *cx, int unregister); | 29 | void cx18_streams_cleanup(struct cx18 *cx, int unregister); |
30 | 30 | ||
31 | /* Related to submission of buffers to firmware */ | ||
32 | static inline void cx18_stream_load_fw_queue(struct cx18_stream *s) | ||
33 | { | ||
34 | struct cx18 *cx = s->cx; | ||
35 | queue_work(cx->out_work_queue, &s->out_work_order); | ||
36 | } | ||
37 | |||
38 | static inline void cx18_stream_put_buf_fw(struct cx18_stream *s, | ||
39 | struct cx18_buffer *buf) | ||
40 | { | ||
41 | /* Put buf on q_free; the out work handler will move buf(s) to q_busy */ | ||
42 | cx18_enqueue(s, buf, &s->q_free); | ||
43 | cx18_stream_load_fw_queue(s); | ||
44 | } | ||
45 | |||
46 | void cx18_out_work_handler(struct work_struct *work); | ||
47 | |||
31 | /* Capture related */ | 48 | /* Capture related */ |
32 | void cx18_stream_load_fw_queue(struct cx18_stream *s); | ||
33 | struct cx18_queue *cx18_stream_put_buf_fw(struct cx18_stream *s, | ||
34 | struct cx18_buffer *buf); | ||
35 | int cx18_start_v4l2_encode_stream(struct cx18_stream *s); | 49 | int cx18_start_v4l2_encode_stream(struct cx18_stream *s); |
36 | int cx18_stop_v4l2_encode_stream(struct cx18_stream *s, int gop_end); | 50 | int cx18_stop_v4l2_encode_stream(struct cx18_stream *s, int gop_end); |
37 | 51 | ||