OSDN Git Service
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:31 +0000 (20:46 +0100)]
usb: gadget: uvc: Make video streaming buffer size comply with USB3.0 SS
As per the USB3.0 specs, the bandwidth requirements of a UVC's video
streaming endpoint will change to support super-speed. These changes
will be dependent on whether the UVC video streaming endpoint is Bulk or
Isochronous:
- If video streaming endpoint is Isochronous:
As per Section 4.4.8.2 (Isochronous Transfer Bandwidth Requirements)
of the USB3.0 specs:
A SuperSpeed isochronous endpoint can move up to three burst
transactions of up to 16 maximum sized packets (3 * 16 * 1024 bytes)
per service interval.
- If video streaming endpoint is Bulk:
As per 4.4.6.1 (Bulk Transfer Data Packet Size) of the USB3.0 specs:
An endpoint for bulk transfers shall set the maximum data packet
payload size in its endpoint descriptor to 1024 bytes. It also
specifies the burst size that the endpoint can accept from or
transmit on the SuperSpeed bus. The allowable burst size for a bulk
endpoint shall be in the range of 1 to 16.
So, in the Isochronous case, we can define the USB request's buffer to
be equal to = (Maximum packet size) * (bMaxBurst + 1) * (Mult + 1), so
that the UDC driver can try to send out this buffer in one Isochronous
service interval.
The same computation will hold good for the Bulk case as the Mult
value is 0 here and we can have a USB request buffer of maximum
16 * 1024 bytes size, which can be sent out by the UDC driver as
per the Bulk bandwidth allocation on the USB3 bus.
This patch adds the above-mentioned support and is also USB2.0 backward
compliant.
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:30 +0000 (20:46 +0100)]
usb: gadget: uvc: Delay the status stage when setting alternate setting 1
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 <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:29 +0000 (20:46 +0100)]
usb: gadget: uvc: Add fix for UVC compliance test suite's assertion 6.1.25 failure
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 <bhupesh.sharma@st.com>
[Merged the association and control string descriptors]
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Bhupesh Sharma [Fri, 1 Mar 2013 19:46:28 +0000 (20:46 +0100)]
usb: gadget: uvc: Add fix for UVC compliance test suite assertion 6.3.90 failure
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 <bhupesh.sharma@st.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:27 +0000 (20:46 +0100)]
usb: gadget: uvc: Configure the streaming endpoint based on the speed
Call the appropriate usb_ep_autoconf*() function depending on the device
speed, and pass it the corresponding streaming endpoint.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:26 +0000 (20:46 +0100)]
usb: gadget: uvc: Merge the streaming maxpacket and mult parameters
Compute the multiplier from the maximum packet size based on the speed.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:25 +0000 (20:46 +0100)]
usb: gadget: uvc: Merge the SS/HS/FS control endpoint descriptors
The descriptors are identical, there's no need to have several copies of
them.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:24 +0000 (20:46 +0100)]
usb: gadget: uvc: Fix coding style issues introduced by SS support
Let's keep the code consistent, people might want to read it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:23 +0000 (20:46 +0100)]
usb: gadget: uvc: Rename STATUS_BYTECOUNT to UVC_STATUS_MAX_PACKET_SIZE
Descriptive names make the code more readable.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Laurent Pinchart [Fri, 1 Mar 2013 19:46:22 +0000 (20:46 +0100)]
usb: gadget: uvc: clarify comment about string descriptors
The comment that describes string descriptors allocation isn't clear,
fix it.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Bhupesh Sharma <bhupesh.sharma@st.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:44:58 +0000 (16:14 +0530)]
usb: dwc3: exynos: use clk_prepare_enable and clk_disable_unprepare
Convert clk_enable/clk_disable to clk_prepare_enable/clk_disable_unprepare
calls as required by common clock framework.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
CC: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 12:39:49 +0000 (18:09 +0530)]
usb: dwc3: exynos: Use of_platform API to create dwc3 core pdev
Used of_platform_populate() to create dwc3 core platform_device
from device tree data. Additionally some cleanup is also done.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
CC: Felipe Balbi <balbi@ti.com>
CC: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:29:11 +0000 (15:59 +0530)]
usb: phy: samsung: Add PHY support for USB 3.0 controller
Adding PHY driver support for USB 3.0 controller for Samsung's
SoCs.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Thu, 14 Mar 2013 10:29:10 +0000 (15:59 +0530)]
usb: phy: samsung: Common out the generic stuff
Moving register and structure definitions to header file,
and keeping the generic functions to be used across
multiple PHYs in common phy helper driver under SAMSUNG_USBPHY,
and moving USB 2.0 PHY driver under SAMSUNG_USB2PHY.
Also allowing samsung PHY drivers be built as modules.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 7 Mar 2013 13:21:44 +0000 (18:51 +0530)]
usb: dwc3: dwc3-omap: return -EPROBE_DEFER if probe has not yet executed
return -EPROBE_DEFER from dwc3_omap_mailbox in dwc3-omap.c, if the probe of
dwc3-omap has not yet been executed or failed.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Kishon Vijay Abraham I [Thu, 7 Mar 2013 13:21:43 +0000 (18:51 +0530)]
usb: dwc3: set dma_mask for dwc3_omap device
*dma_mask* is not set for devices created from dt data. So filled dma_mask
for dwc3_omap device here. And dwc3 core will copy the dma_mask from its
parent.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
George Cherian [Thu, 14 Mar 2013 10:35:24 +0000 (16:05 +0530)]
usb: dwc3: core: fix wrong OTG event regitser offset
This patch fixes the wrong OTG_EVT,OTG_EVTEN and OTG_STS register
offsets.
While at that, also add a missing register to debugfs regdump
utility.
Signed-off-by: George Cherian <george.cherian@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:49:13 +0000 (10:49 +0200)]
usb: renesas: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:48:02 +0000 (10:48 +0200)]
usb: gadget: uvc: remove references to DMA_ADDR_INVALID
gadget drivers shouldn't touch req->dma at all,
since UDC drivers are the ones required to handle
mapping and unmapping of the request buffer.
Remove references to DMA_ADDR_INVALID so we don't
creat false expectations to gadget driver writers.
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:46:19 +0000 (10:46 +0200)]
usb: gadget: net2280: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:45:42 +0000 (10:45 +0200)]
usb: gadget: net2272: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't used anymore, it's safe
to remove it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 14 Mar 2013 08:45:02 +0000 (10:45 +0200)]
usb: gadget: atmel: remove unused DMA_ADDR_INVALID
DMA_ADDR_INVALID isn't (and shouldn't) be used
anymore, let's remove it.
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Chen Gang [Mon, 11 Mar 2013 10:28:02 +0000 (18:28 +0800)]
usb: gadget: s3c-hsudc: delete outdated comment
since commit
d93e260 (usb: gadget: s3c-hsudc: use udc_start and udc_stop
functions) the 'driver' parameter has been deleted from
s3c_hsudc_stop_activity() but its documentation was left outdated. This
patch deletes the comment since it makes no sense anymore.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:25:18 +0000 (13:25 +0200)]
usb: phy: isp1301: implement PHY API
this patch implements ->init() and ->set_vbus()
methods for isp1301 transceiver driver.
Later patches can now come in order to remove
the hackery from ohci-nxp and lpc32xx udc drivers.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:22:58 +0000 (13:22 +0200)]
usb: phy: introduce ->set_vbus() method
this method will be used to enable or disable
the charge pump.
Whenever we have DRD devices, we need to be
able to turn VBUS on or off whenever we want.
Note that in the ideal case, this would be
controlled by the ID-pin Interrupt, but not
all devices have ID-pin properly routed since
manufacturers can choose to save that trace
if they're building a host-only product out
of a DRD IP.
This is also useful during debugging where
we might not have the proper cable hanging
around.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Fri, 8 Mar 2013 11:01:40 +0000 (13:01 +0200)]
usb: phy: isp1301: give it a context structure
this patch is a small preparation to fix
isp1301 driver so that other platforms can
use it.
We're defining our private data structure
to represent this device and adding the
PHY to the PHY list.
Later patches will come implementing proper
PHY API and removing bogus code from ohci_nxp
and lpc32xx_udc drivers.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 15:37:59 +0000 (17:37 +0200)]
usb: phy: rename all phy drivers to phy-$name-usb.c
this will make sure that we have sensible names
for all phy drivers. Current situation was already
quite bad with too generic names being used.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:31:18 +0000 (11:31 +0200)]
usb: phy: remove CONFIG_USB_OTG_UTILS
there are no more users of CONFIG_USB_OTG_UTILS
left in tree, we can remove it just fine.
[ kishon@ti.com : fixed a linking error due
to original patch forgetting to change
drivers/usb/Makefile ]
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:58 +0000 (11:24 +0200)]
usb: ehci: tegra: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:32 +0000 (11:24 +0200)]
usb: ehci: marvel: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:24:08 +0000 (11:24 +0200)]
usb: gadget: mv_udc_core: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:23:50 +0000 (11:23 +0200)]
usb: power: pda_power: check against CONFIG_USB_PHY
CONFIG_USB_OTG_UTILS will be removed very
soon, so we should check CONFIG_USB_PHY
instead.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:13:43 +0000 (11:13 +0200)]
usb: phy: make it a menuconfig
We already have a considerable amount of USB
PHY drivers, making it a menuconfig just
prevents us from adding too much churn to
USB's menuconfig.
While at that, also select USB_OTG_UTILS from
this new menuconfig just to keep backwards
compatibility until we manage to remove
that symbol.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 09:01:15 +0000 (11:01 +0200)]
usb: phy: move all PHY drivers to drivers/usb/phy/
that's a much more reasonable location for
those drivers. It helps us saving drivers/usb/otg/
for when we actually start adding generic OTG
code.
Also completely delete drivers/usb/otg/ as there's
nothing left there.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:49:27 +0000 (10:49 +0200)]
usb: phy: convert EXPORT_SYMBOL to EXPORT_SYMBOL_GPL
we only want GPL users for our generic functions,
so let's switch over to EXPORT_SYMBOL_GPL.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:45:56 +0000 (10:45 +0200)]
usb: otg: move usb_otg_state_string to usb-common.c
otg.c only had a single function definition
which might make more sense to be placed in
usb-common.c. While doing that, we also delete
otg.c since it's now empty.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 7 Mar 2013 08:39:57 +0000 (10:39 +0200)]
usb: otg: prefix otg_state_string with usb_
all other functions under drivers/usb/ start
with usb_, let's do the same thing.
This patch is in preparation for moving otg_state_string
to usb-common.c and deleting otg.c completely.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 5 May 2011 13:21:59 +0000 (16:21 +0300)]
usb: dwc3: gadget: use num_(in|out)_eps from HW params
that way we will only tell gadget framework about
the endpoints we actually have.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Thu, 5 May 2011 12:53:10 +0000 (15:53 +0300)]
usb: dwc3: calculate the number of endpoints
hwparams2 holds the number of endpoints which
were selected during RTL generation, we can
use that on our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Syam Sidhardhan [Tue, 5 Mar 2013 19:34:50 +0000 (01:04 +0530)]
usb: otg: fsl_otg: remove redundant NULL check before kfree
kfree on NULL pointer is a no-op.
Signed-off-by: Syam Sidhardhan <s.syam@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Fabio Baltieri [Wed, 20 Feb 2013 08:53:39 +0000 (09:53 +0100)]
usb: musb: drop dangling CONFIG_USB_MUSB_DEBUG
CONFIG_USB_MUSB_DEBUG option was removed in
5c8a86e usb: musb: drop unneeded musb_debug trickery
to cleanup the code from driver specific debug facilities. This patch
drops the last references to the musb debug config option,
unconditionally enabling all debug code paths, thus letting that code
being dropped at compile time if not needed.
Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sachin Kamat [Tue, 5 Mar 2013 04:12:15 +0000 (09:42 +0530)]
usb: gadget: fsl_udc_core: Use module_platform_driver_probe macro
module_platform_driver_probe() eliminates the boilerplate and simplifies
the code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Vivek Gautam [Sat, 2 Mar 2013 13:25:24 +0000 (18:55 +0530)]
usb: dwc3: set 'mode' based on selected Kconfig choices
Now that machines may select dwc3's working mode (HOST only,
GADGET only or DUAL_ROLE) via Kconfig, let's set dwc3's mode
based on that, rather than fixing it to whatever hardware
says.
This way we can skip initializing Gadget/Host in case
we are using Host-only/Gadget-only mode respectively.
Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Marc Kleine-Budde [Thu, 28 Feb 2013 10:52:30 +0000 (11:52 +0100)]
usb: phy: mxs: use readl(), writel() instead of the _relaxed() versions
This patch converts the mxs-phy driver from readl_relaxed(), writel_relaxed()
to the plain readl(), writel() functions, which are available on all platforms.
This is done to enable compile time testing on non ARM platforms.
Reported-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sascha Hauer [Wed, 27 Feb 2013 14:16:30 +0000 (15:16 +0100)]
usb: phy: mxs-phy: register phy with framework
We now have usb_add_phy_dev(), so use it to register with the framework
to be able to find the phy from the USB driver.
Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reviewed-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Sascha Hauer [Wed, 27 Feb 2013 14:16:28 +0000 (15:16 +0100)]
usb: phy: move bulk of otg/otg.c to phy/phy.c
Most of otg/otg.c is not otg specific, but phy specific, so move it
to the phy directory.
Tested-by: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Reported-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 18 Sep 2012 18:39:24 +0000 (21:39 +0300)]
usb: dwc3: workaround: unexpected transtion U3 -> RESUME
In DWC3 versions < 2.50a configured without
Hibernation mode enabled, there will be an
extra link status change interrupt if device
detects host-initiated U3 exit.
In that case, core will generate an unnecessary
U3 -> RESUME transition which should be ignored
by the driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 18 Sep 2012 18:22:32 +0000 (21:22 +0300)]
usb: dwc3: core: define more revisions
Some new revisions of the DWC3 core have
been released, let's add our defines to help
implementing known erratas.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 17:15:14 +0000 (19:15 +0200)]
usb: gadget: udc-core: anywone can read 'speed' attributes
current code only allows the file owner (usually
root) to read current_speed and maximum_speed
sysfs files. Let anyone read those.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:25:41 +0000 (15:25 +0200)]
usb: gadget: udc-core: remove protection when setting gadget.dev.release
now that no UDC driver touches gadget.dev.release
we can assign our release function to it without
being afraid of breaking anything.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:51 +0000 (15:15 +0200)]
usb: renesas: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:28 +0000 (15:15 +0200)]
usb: musb: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:28 +0000 (15:15 +0200)]
usb: gadget: s3c-hsotg: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: r8a66597-udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: pch_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: omap_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: net2280: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: net2272: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: mv_udc_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:27 +0000 (15:15 +0200)]
usb: gadget: mv_u3d_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: m66592-udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: goku_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fusb300_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fsl_udc_core: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: fsl_qe_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: dummy_hcd: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:26 +0000 (15:15 +0200)]
usb: gadget: bcm63xx_udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:15:25 +0000 (15:15 +0200)]
usb: gadget: amd5536udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:11:05 +0000 (15:11 +0200)]
usb: dwc3: gadget: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 13:10:51 +0000 (15:10 +0200)]
usb: chipidea: udc: don't assign gadget.dev.release directly
udc-core provides a better way to handle release
methods, let's use it.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:47:44 +0000 (14:47 +0200)]
usb: gadget: udc-core: introduce usb_add_gadget_udc_release()
not all UDC drivers need a proper release function,
for those which don't need it, we udc-core will provide
a no-op release method so we can remove "redefinition"
of such methods in almost every UDC driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:37:17 +0000 (14:37 +0200)]
usb: renesas: gadget: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:37:12 +0000 (14:37 +0200)]
usb: gadget: s3c2410_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:37:04 +0000 (14:37 +0200)]
usb: gadget: s3c-hsudc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:58 +0000 (14:36 +0200)]
usb: gadget: s3c-hsotg: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:52 +0000 (14:36 +0200)]
usb: gadget: pxa27x_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:47 +0000 (14:36 +0200)]
usb: gadget: pxa25x_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:40 +0000 (14:36 +0200)]
usb: gadget: pch_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:26 +0000 (14:36 +0200)]
usb: gadget: omap_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:21 +0000 (14:36 +0200)]
usb: gadget: net2280: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:14 +0000 (14:36 +0200)]
usb: gadget: net2272: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:36:05 +0000 (14:36 +0200)]
usb: gadget: mv_udc_core: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:59 +0000 (14:35 +0200)]
usb: gadget: mv_u3d_core: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:53 +0000 (14:35 +0200)]
usb: gadget: m66592-udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:48 +0000 (14:35 +0200)]
usb: gadget: lpc32xx_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:40 +0000 (14:35 +0200)]
usb: gadget: imx_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:31 +0000 (14:35 +0200)]
usb: gadget: goku_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:24 +0000 (14:35 +0200)]
usb: gadget: fusb300_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:15 +0000 (14:35 +0200)]
usb: gadget: fsl_udc_core: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:35:06 +0000 (14:35 +0200)]
usb: gadget: fsl_qe_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:34:49 +0000 (14:34 +0200)]
usb: gadget: dummy_hcd: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:34:33 +0000 (14:34 +0200)]
usb: gadget: bcm63xx_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:34:17 +0000 (14:34 +0200)]
usb: gadget: atmel_usba_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:16:21 +0000 (14:16 +0200)]
usb: gadget: at91_udc: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:15:51 +0000 (14:15 +0200)]
usb: gadget: amd5536udc: don't touch gadget.dev.driver
udc-core handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:15:15 +0000 (14:15 +0200)]
usb: dwc3: gadget: don't touch gadget.dev.driver
udc-core now handles that for us, which means
we can remove it from our driver.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 11:51:24 +0000 (13:51 +0200)]
usb: gadget: udc-core: initialize gadget->dev.driver
if we initialize gadget->dev.driver ourselves,
UDC drivers won't have to do the same, so we
can remove some duplicated code.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 12:59:40 +0000 (14:59 +0200)]
usb: gadget: fsl_udc_core: remove unnecessary initializations
udc-core now sets dma-related and parent fields
for us, we don't need to do it ourselves.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 09:25:21 +0000 (11:25 +0200)]
usb: musb: gadget: remove unnecessary initializations
udc-core now sets dma-related and parent fields
for us, we don't need to do it ourselves.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Felipe Balbi [Tue, 26 Feb 2013 09:24:30 +0000 (11:24 +0200)]
usb: gadget: s3c2410_udc: remove unnecessary initializations
udc-core now sets dma-related and parent fields
for us, we don't need to do it ourselves.
Signed-off-by: Felipe Balbi <balbi@ti.com>