<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/usb/gadget/f_uvc.c, branch v3.14.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media</title>
<updated>2013-07-13T19:09:57+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2013-07-13T19:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=858655116bfc722837e3aec0909b8e9d08f96996'/>
<id>858655116bfc722837e3aec0909b8e9d08f96996</id>
<content type='text'>
Pull media updates from Mauro Carvalho Chehab:
 "This series contain:
   - new i2c video drivers: ml86v7667 (video decoder),
                            ths8200 (video encoder)
   - a new video driver for EasyCap cards based on Fushicai USBTV007
   - Improved support for OF and embedded systems, with V4L2 async
     initialization and a better support for clocks
   - API cleanups on the ioctls used by the v4l2 debug tool
   - Lots of cleanups
   - As usual, several driver improvements and new cards additions
   - Revert two changesets that change the minimal symbol rate for
     stv0399, as request by Manu
   - Update MAINTAINERS and other files to point to my new e-mail"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
  MAINTAINERS &amp; ABI: Update to point to my new email
  [media] stb0899: restore minimal rate to 5Mbauds
  [media] exynos4-is: Correct colorspace handling at FIMC-LITE
  [media] exynos4-is: Set valid initial format on FIMC.n subdevs
  [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
  [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
  [media] exynos4-is: Set valid initial format at FIMC-LITE
  [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
  [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
  [media] Documentation: Update driver's directory in video4linux/fimc.txt
  [media] exynos4-is: Change fimc-is firmware file names
  [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
  [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
  [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
  [media] media: i2c: tvp514x: remove manual setting of subdev name
  [media] media: i2c: tvp7002: remove manual setting of subdev name
  [media] mem2mem: set missing v4l2_dev pointer
  [media] wl128x: add missing struct v4l2_device
  [media] tvp514x: Fix init seqeunce
  [media] saa7134: Fix sparse warnings by adding __user annotation
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull media updates from Mauro Carvalho Chehab:
 "This series contain:
   - new i2c video drivers: ml86v7667 (video decoder),
                            ths8200 (video encoder)
   - a new video driver for EasyCap cards based on Fushicai USBTV007
   - Improved support for OF and embedded systems, with V4L2 async
     initialization and a better support for clocks
   - API cleanups on the ioctls used by the v4l2 debug tool
   - Lots of cleanups
   - As usual, several driver improvements and new cards additions
   - Revert two changesets that change the minimal symbol rate for
     stv0399, as request by Manu
   - Update MAINTAINERS and other files to point to my new e-mail"

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits)
  MAINTAINERS &amp; ABI: Update to point to my new email
  [media] stb0899: restore minimal rate to 5Mbauds
  [media] exynos4-is: Correct colorspace handling at FIMC-LITE
  [media] exynos4-is: Set valid initial format on FIMC.n subdevs
  [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads
  [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev
  [media] exynos4-is: Set valid initial format at FIMC-LITE
  [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs
  [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry
  [media] Documentation: Update driver's directory in video4linux/fimc.txt
  [media] exynos4-is: Change fimc-is firmware file names
  [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS
  [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver
  [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms
  [media] media: i2c: tvp514x: remove manual setting of subdev name
  [media] media: i2c: tvp7002: remove manual setting of subdev name
  [media] mem2mem: set missing v4l2_dev pointer
  [media] wl128x: add missing struct v4l2_device
  [media] tvp514x: Fix init seqeunce
  [media] saa7134: Fix sparse warnings by adding __user annotation
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>[media] f_uvc: add v4l2_device and replace parent with v4l2_dev</title>
<updated>2013-06-21T14:04:47+00:00</updated>
<author>
<name>Hans Verkuil</name>
<email>hans.verkuil@cisco.com</email>
</author>
<published>2013-06-12T09:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b60f9aa1a9fcf69df963c1f06ee0594d836f6760'/>
<id>b60f9aa1a9fcf69df963c1f06ee0594d836f6760</id>
<content type='text'>
This driver did not yet support struct v4l2_device, so add it. This
make it possible to replace the deprecated parent field with the
v4l2_dev field, allowing the eventual removal of the parent field.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This driver did not yet support struct v4l2_device, so add it. This
make it possible to replace the deprecated parent field with the
v4l2_dev field, allowing the eventual removal of the parent field.

Signed-off-by: Hans Verkuil &lt;hans.verkuil@cisco.com&gt;
Acked-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Mauro Carvalho Chehab &lt;mchehab@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Remove unneeded endpoint descriptor fields initialization</title>
<updated>2013-05-28T16:57:45+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2013-04-29T10:16:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dbbafe666c47d2e3d59cea66066f98c946a1e2de'/>
<id>dbbafe666c47d2e3d59cea66066f98c946a1e2de</id>
<content type='text'>
The streaming endpoint bandwidth parameters are computed are runtime
from module parameters. Remove the corresponding static initializers.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The streaming endpoint bandwidth parameters are computed are runtime
from module parameters. Remove the corresponding static initializers.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Delay the status stage when setting alternate setting 1</title>
<updated>2013-03-18T09:18:21+00:00</updated>
<author>
<name>Bhupesh Sharma</name>
<email>bhupesh.sharma@st.com</email>
</author>
<published>2013-03-01T19:46:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=41837c352fd8d804dbe978c29e57ec8217df1d51'/>
<id>41837c352fd8d804dbe978c29e57ec8217df1d51</id>
<content type='text'>
This patch adds the support in UVC webcam gadget design for providing
USB_GADGET_DELAYED_STATUS in response to a set_interface(alt setting 1)
command issue by the Host.

The current UVC webcam gadget design generates a STREAMON event
corresponding to a set_interface(alt setting 1) command from the Host.
This STREAMON event will eventually be routed to a real V4L2 device.

To start video streaming, it may be required to perform some register
writes to a camera sensor device over slow external busses like I2C or
SPI. So, it makes sense to ensure that we delay the STATUS stage of the
set_interface (alt setting 1) command.

Otherwise, a lot of ISOC IN tokens sent by the Host will be replied to
by zero-length packets by the webcam device. On certain Hosts this may
even lead to ISOC URBs been cancelled from the Host side.

So, as soon as we finish doing all the "streaming" related stuff on the
real V4L2 device, we call a STREAMON ioctl on the UVC side and from here
we call the 'usb_composite_setup_continue' function to complete the
status stage of the set_interface(alt setting 1) command.

Further, we need to ensure that we queue no video buffers on the UVC
webcam gadget, until we de-queue a video buffer from the V4L2 device.
So, the application should call the STREAMON on UVC side only when it
has dequeued sufficient buffers from the V4L2 side and queued them to
the UVC gadget.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds the support in UVC webcam gadget design for providing
USB_GADGET_DELAYED_STATUS in response to a set_interface(alt setting 1)
command issue by the Host.

The current UVC webcam gadget design generates a STREAMON event
corresponding to a set_interface(alt setting 1) command from the Host.
This STREAMON event will eventually be routed to a real V4L2 device.

To start video streaming, it may be required to perform some register
writes to a camera sensor device over slow external busses like I2C or
SPI. So, it makes sense to ensure that we delay the STATUS stage of the
set_interface (alt setting 1) command.

Otherwise, a lot of ISOC IN tokens sent by the Host will be replied to
by zero-length packets by the webcam device. On certain Hosts this may
even lead to ISOC URBs been cancelled from the Host side.

So, as soon as we finish doing all the "streaming" related stuff on the
real V4L2 device, we call a STREAMON ioctl on the UVC side and from here
we call the 'usb_composite_setup_continue' function to complete the
status stage of the set_interface(alt setting 1) command.

Further, we need to ensure that we queue no video buffers on the UVC
webcam gadget, until we de-queue a video buffer from the V4L2 device.
So, the application should call the STREAMON on UVC side only when it
has dequeued sufficient buffers from the V4L2 side and queued them to
the UVC gadget.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Add fix for UVC compliance test suite's assertion 6.1.25 failure</title>
<updated>2013-03-18T09:18:21+00:00</updated>
<author>
<name>Bhupesh Sharma</name>
<email>bhupesh.sharma@st.com</email>
</author>
<published>2013-03-01T19:46:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=43ff05e20c6e2428fe2deb1dc0fed008743e66a3'/>
<id>43ff05e20c6e2428fe2deb1dc0fed008743e66a3</id>
<content type='text'>
As per the UVC compliance test suite's assertion 6.1.25, the `iFunction`
field of the Interface Association Descriptor (IAD) should the match the
`iInterface` field of the standard Video Control (VC) Interface Descriptor for
this Video Interface Collection (VIC).

This mandatory case is captured in section 3.11 of the
USB Video Class Compliance specification revision 1.1

This patch fixes this test assertion's failure and has been tested on
Linux FC16, WinXP, WIN7 and WIN8 High speed and Super Speed hosts
for successful enumeration.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
[Merged the association and control string descriptors]
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per the UVC compliance test suite's assertion 6.1.25, the `iFunction`
field of the Interface Association Descriptor (IAD) should the match the
`iInterface` field of the standard Video Control (VC) Interface Descriptor for
this Video Interface Collection (VIC).

This mandatory case is captured in section 3.11 of the
USB Video Class Compliance specification revision 1.1

This patch fixes this test assertion's failure and has been tested on
Linux FC16, WinXP, WIN7 and WIN8 High speed and Super Speed hosts
for successful enumeration.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
[Merged the association and control string descriptors]
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Add fix for UVC compliance test suite assertion 6.3.90 failure</title>
<updated>2013-03-18T09:18:20+00:00</updated>
<author>
<name>Bhupesh Sharma</name>
<email>bhupesh.sharma@st.com</email>
</author>
<published>2013-03-01T19:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=609a0532a4d713819092a9311ffe89faa6bac617'/>
<id>609a0532a4d713819092a9311ffe89faa6bac617</id>
<content type='text'>
As per UVC compliance test specification's assertion number 6.3.90
related to 'Standard VS Isochronous Video Data Endpoint Descriptor Assertions',
the bits D3..2 of 'bmAttributes' field of Standard VS Isochronous Video Data
Endpoint Descriptor should be 01 (binary) to indicate that the
synchronization type is ASYNCHRONOUS.

This mandatory requirement has been captured in section 3.10.1.1 of the UVC
Video Class Specification version 1.1

This patch adds a fix for the same.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As per UVC compliance test specification's assertion number 6.3.90
related to 'Standard VS Isochronous Video Data Endpoint Descriptor Assertions',
the bits D3..2 of 'bmAttributes' field of Standard VS Isochronous Video Data
Endpoint Descriptor should be 01 (binary) to indicate that the
synchronization type is ASYNCHRONOUS.

This mandatory requirement has been captured in section 3.10.1.1 of the UVC
Video Class Specification version 1.1

This patch adds a fix for the same.

Signed-off-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Configure the streaming endpoint based on the speed</title>
<updated>2013-03-18T09:18:20+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2013-03-01T19:46:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0485ec0d3ba9ce96ab5064b05a06e672c9d2c973'/>
<id>0485ec0d3ba9ce96ab5064b05a06e672c9d2c973</id>
<content type='text'>
Call the appropriate usb_ep_autoconf*() function depending on the device
speed, and pass it the corresponding streaming endpoint.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Call the appropriate usb_ep_autoconf*() function depending on the device
speed, and pass it the corresponding streaming endpoint.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Merge the streaming maxpacket and mult parameters</title>
<updated>2013-03-18T09:18:19+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2013-03-01T19:46:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=20777dde026eb4b915ce577f830231c00c3f9292'/>
<id>20777dde026eb4b915ce577f830231c00c3f9292</id>
<content type='text'>
Compute the multiplier from the maximum packet size based on the speed.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Compute the multiplier from the maximum packet size based on the speed.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Merge the SS/HS/FS control endpoint descriptors</title>
<updated>2013-03-18T09:18:18+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2013-03-01T19:46:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=48eee0b41a1c6e979e4b47d75bb3f2493c1b5fb9'/>
<id>48eee0b41a1c6e979e4b47d75bb3f2493c1b5fb9</id>
<content type='text'>
The descriptors are identical, there's no need to have several copies of
them.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The descriptors are identical, there's no need to have several copies of
them.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>usb: gadget: uvc: Fix coding style issues introduced by SS support</title>
<updated>2013-03-18T09:18:18+00:00</updated>
<author>
<name>Laurent Pinchart</name>
<email>laurent.pinchart@ideasonboard.com</email>
</author>
<published>2013-03-01T19:46:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ee6a4d870b722a57aa57abe7f12539bac9c01555'/>
<id>ee6a4d870b722a57aa57abe7f12539bac9c01555</id>
<content type='text'>
Let's keep the code consistent, people might want to read it.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Let's keep the code consistent, people might want to read it.

Signed-off-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt;
Tested-by: Bhupesh Sharma &lt;bhupesh.sharma@st.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
