<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/media/usb/uvc/uvc_queue.c, branch linux-4.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-4.3.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2015-05-30T15:11:40Z</updated>
<entry>
<title>[media] uvcvideo: Implement DMABUF exporter role</title>
<updated>2015-05-30T15:11:40Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2015-04-14T07:19:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7195f61b801104add6453e1d8a39d5c8366fc446'/>
<id>urn:sha1:7195f61b801104add6453e1d8a39d5c8366fc446</id>
<content type='text'>
Now that videobuf2-vmalloc supports exporting buffers, add support for
the DMABUF exporter role by plugging in the videobuf2 ioctl helper.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Don't call vb2 mmap and get_unmapped_area with queue lock held</title>
<updated>2015-04-02T20:29:28Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2015-02-16T17:38:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9e68c53910721ffc55c05ee9bbc08129c796b470'/>
<id>urn:sha1:9e68c53910721ffc55c05ee9bbc08129c796b470</id>
<content type='text'>
videobuf2 has long been subject to AB-BA style deadlocks due to the
queue lock and mmap_sem being taken in different orders for the mmap and
get_unmapped_area operations. The problem has been fixed by making those
two operations callable without taking the queue lock, using an
mmap_lock internal to videobuf2.

The uvcvideo driver still calls the mmap and get_unmapped_area
operations with the queue lock held, resulting in a potential deadlock.
As the operations can now be called without locking the queue, fix it.

Reported-by: Bjørn Mork &lt;bjorn@mork.no&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] media: usb: uvc: use vb2_ops_wait_prepare/finish helper</title>
<updated>2014-12-23T10:58:09Z</updated>
<author>
<name>Lad, Prabhakar</name>
<email>prabhakar.csengg@gmail.com</email>
</author>
<published>2014-11-26T23:25:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5fb3f55504d5d9b6ca97131091707afd351fe1dc'/>
<id>urn:sha1:5fb3f55504d5d9b6ca97131091707afd351fe1dc</id>
<content type='text'>
This patch drops driver specific wait_prepare() and wait_finish()
callbacks from vb2_ops and instead uses the the helpers
vb2_ops_wait_prepare/finish() provided by the vb2 core, the lock member
of the queue needs to be initalized to a mutex so that vb2 helpers
vb2_ops_wait_prepare/finish() can make use of it.

Signed-off-by: Lad, Prabhakar &lt;prabhakar.csengg@gmail.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Return all buffers to vb2 at stream stop and start failure</title>
<updated>2014-11-25T10:42:33Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T19:37:55Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ef33d901db3026643f1c415562d633dfc6c5e9bb'/>
<id>urn:sha1:ef33d901db3026643f1c415562d633dfc6c5e9bb</id>
<content type='text'>
videobuf2 requires drivers to give back ownership of all queue buffers
in the stop_streaming operation, as well as in the start_streaming
operation in case of failure. Mark all queued buffers as done in the
error or queued state.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Rename and split uvc_queue_enable to uvc_queue_stream(on|off)</title>
<updated>2014-11-25T10:42:01Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T19:19:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0da4ab984b1753b160b5fa840ae98b87228ac3dc'/>
<id>urn:sha1:0da4ab984b1753b160b5fa840ae98b87228ac3dc</id>
<content type='text'>
This brings the function name in line with the V4L2 API terminology and
allows removing the duplicate queue type check.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Rename uvc_alloc_buffers to uvc_request_buffers</title>
<updated>2014-11-25T10:41:05Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T19:02:00Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1b7f9c989ee7684dc70f0a75a037ecb1d437d3c2'/>
<id>urn:sha1:1b7f9c989ee7684dc70f0a75a037ecb1d437d3c2</id>
<content type='text'>
This brings the function name in line with the V4L2 API terminology.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Don't stop the stream twice at file handle release</title>
<updated>2014-11-25T10:40:37Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T19:07:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3f02de275e5c4374ffeba554c7b9fa85ea13ecc5'/>
<id>urn:sha1:3f02de275e5c4374ffeba554c7b9fa85ea13ecc5</id>
<content type='text'>
When releasing the file handle the driver calls the vb2_queue_release
which turns the stream off. There's thus no need to turn the stream off
explicitly beforehand.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Implement vb2 queue start and stop stream operations</title>
<updated>2014-11-25T10:40:08Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T16:03:08Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a11a03e50b73234444f7d439fb8ee6eaec3cffd1'/>
<id>urn:sha1:a11a03e50b73234444f7d439fb8ee6eaec3cffd1</id>
<content type='text'>
To work propertly the videobuf2 core code needs to be in charge of
stream start/stop control. Implement the start_streaming and
stop_streaming vb2 operations and move video enable/disable code to
them.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] uvcvideo: Add function to convert from queue to stream</title>
<updated>2014-11-25T10:39:34Z</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2014-10-21T15:58:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bc75d5a0097b4100b4a4e06db62b2afb80d96393'/>
<id>urn:sha1:bc75d5a0097b4100b4a4e06db62b2afb80d96393</id>
<content type='text'>
Factorize the container_of() call into an inline function and update
callers.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@osg.samsung.com&gt;
</content>
</entry>
<entry>
<title>[media] vb2: call buf_finish from __queue_cancel</title>
<updated>2014-03-11T09:56:39Z</updated>
<author>
<name>Hans Verkuil</name>
<email>hans.verkuil@cisco.com</email>
</author>
<published>2014-03-04T10:34:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9c0863b1cc485f2bacac0675c68b73e5341cfd26'/>
<id>urn:sha1:9c0863b1cc485f2bacac0675c68b73e5341cfd26</id>
<content type='text'>
If a queue was canceled, then the buf_finish op was never called for the
pending buffers. So add this call to queue_cancel. Before calling buf_finish
set the buffer state to PREPARED, which is the correct state. That way the
states DONE and ERROR will only be seen in buf_finish if streaming is in
progress.

Since buf_finish can now be called from non-streaming state we need to
adapt the handful of drivers that actually need to know this.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Acked-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;m.chehab@samsung.com&gt;
</content>
</entry>
</feed>
