Lines Matching refs:stream

165 	struct uvc_streaming *stream;
167 list_for_each_entry(stream, &dev->streams, list) {
168 if (stream->header.bTerminalLink == id)
169 return stream;
179 static void uvc_stream_delete(struct uvc_streaming *stream)
181 if (stream->async_wq)
182 destroy_workqueue(stream->async_wq);
184 mutex_destroy(&stream->mutex);
186 usb_put_intf(stream->intf);
188 kfree(stream->formats);
189 kfree(stream->header.bmaControls);
190 kfree(stream);
196 struct uvc_streaming *stream;
198 stream = kzalloc(sizeof(*stream), GFP_KERNEL);
199 if (stream == NULL)
202 mutex_init(&stream->mutex);
204 stream->dev = dev;
205 stream->intf = usb_get_intf(intf);
206 stream->intfnum = intf->cur_altsetting->desc.bInterfaceNumber;
208 /* Allocate a stream specific work queue for asynchronous tasks. */
209 stream->async_wq = alloc_workqueue("uvcvideo", WQ_UNBOUND | WQ_HIGHPRI,
211 if (!stream->async_wq) {
212 uvc_stream_delete(stream);
216 return stream;
1898 struct uvc_streaming *stream = video_get_drvdata(vdev);
1899 struct uvc_device *dev = stream->dev;
1909 struct uvc_streaming *stream;
1911 list_for_each_entry(stream, &dev->streams, list) {
1912 if (!video_is_registered(&stream->vdev))
1915 video_unregister_device(&stream->vdev);
1916 video_unregister_device(&stream->meta.vdev);
1918 uvc_debugfs_cleanup_stream(stream);
1932 struct uvc_streaming *stream,
1957 vdev->prio = &stream->chain->prio;
1982 video_set_drvdata(vdev, stream);
1986 dev_err(&stream->intf->dev,
1997 struct uvc_streaming *stream)
2002 ret = uvc_video_init(stream);
2004 dev_err(&stream->intf->dev,
2009 if (stream->type == V4L2_BUF_TYPE_VIDEO_CAPTURE)
2010 stream->chain->caps |= V4L2_CAP_VIDEO_CAPTURE
2013 stream->chain->caps |= V4L2_CAP_VIDEO_OUTPUT;
2015 uvc_debugfs_init_stream(stream);
2018 return uvc_register_video_device(dev, stream, &stream->vdev,
2019 &stream->queue, stream->type,
2029 struct uvc_streaming *stream;
2037 stream = uvc_stream_by_id(dev, term->id);
2038 if (stream == NULL) {
2045 stream->chain = chain;
2046 ret = uvc_register_video(dev, stream);
2054 uvc_meta_register(stream);
2056 term->vdev = &stream->vdev;
2273 struct uvc_streaming *stream;
2288 list_for_each_entry(stream, &dev->streams, list) {
2289 if (stream->intf == intf)
2290 return uvc_video_suspend(stream);
2301 struct uvc_streaming *stream;
2323 list_for_each_entry(stream, &dev->streams, list) {
2324 if (stream->intf == intf) {
2325 ret = uvc_video_resume(stream, reset);
2327 uvc_queue_streamoff(&stream->queue,
2328 stream->queue.queue.type);