mirror of
https://github.com/torvalds/linux.git
synced 2024-12-12 06:02:38 +00:00
c942fddf87
Based on 3 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version [author] [graeme] [gregory] [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i] [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema] [hk] [hemahk]@[ti] [com] this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 1105 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* cx18 init/start/stop/exit stream functions
|
|
*
|
|
* Derived from ivtv-streams.h
|
|
*
|
|
* Copyright (C) 2007 Hans Verkuil <hverkuil@xs4all.nl>
|
|
* Copyright (C) 2008 Andy Walls <awalls@md.metrocast.net>
|
|
*/
|
|
|
|
u32 cx18_find_handle(struct cx18 *cx);
|
|
struct cx18_stream *cx18_handle_to_stream(struct cx18 *cx, u32 handle);
|
|
int cx18_streams_setup(struct cx18 *cx);
|
|
int cx18_streams_register(struct cx18 *cx);
|
|
void cx18_streams_cleanup(struct cx18 *cx, int unregister);
|
|
|
|
#define CX18_ENC_STREAM_TYPE_IDX_FW_MDL_MIN (3)
|
|
void cx18_stream_rotate_idx_mdls(struct cx18 *cx);
|
|
|
|
static inline bool cx18_stream_enabled(struct cx18_stream *s)
|
|
{
|
|
return s->video_dev.v4l2_dev ||
|
|
(s->dvb && s->dvb->enabled) ||
|
|
(s->type == CX18_ENC_STREAM_TYPE_IDX &&
|
|
s->cx->stream_buffers[CX18_ENC_STREAM_TYPE_IDX] != 0);
|
|
}
|
|
|
|
/* Related to submission of mdls to firmware */
|
|
static inline void cx18_stream_load_fw_queue(struct cx18_stream *s)
|
|
{
|
|
schedule_work(&s->out_work_order);
|
|
}
|
|
|
|
static inline void cx18_stream_put_mdl_fw(struct cx18_stream *s,
|
|
struct cx18_mdl *mdl)
|
|
{
|
|
/* Put mdl on q_free; the out work handler will move mdl(s) to q_busy */
|
|
cx18_enqueue(s, mdl, &s->q_free);
|
|
cx18_stream_load_fw_queue(s);
|
|
}
|
|
|
|
void cx18_out_work_handler(struct work_struct *work);
|
|
|
|
/* Capture related */
|
|
int cx18_start_v4l2_encode_stream(struct cx18_stream *s);
|
|
int cx18_stop_v4l2_encode_stream(struct cx18_stream *s, int gop_end);
|
|
|
|
void cx18_stop_all_captures(struct cx18 *cx);
|