- 31 Jul, 2015 3 commits
-
-
Robert Baldyga authored
Since maxpacket_limit was introduced all UDC drivers should use usb_ep_set_maxpacket_limit() function instead of setting maxpacket value manually. ep.maxpacket_limit contains actual maximum maxpacket value supported by hardware which is needed by epautoconf. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Acked-by:
Michal Nazarewicz <mina86@mina86.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Function midi registers two interfaces with single set_alt() function which means that f_midi_set_alt() is called twice when configuration is set. That means that endpoint initialization and ep request allocation is done two times. To avoid this problem we do such things only once, for interface number 1 (MIDI Streaming interface). Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Acked-by:
Michal Nazarewicz <mina86@mina86.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Function ffs_do_functionfs_bind() calls functionfs_bind() which allocates usb request and increments refcounts. These things needs to be cleaned up by if further steps of initialization fail by calling functionfs_unbind(). Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Acked-by:
Michal Nazarewicz <mina86@mina86.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
- 30 Jul, 2015 17 commits
-
-
Peter Chen authored
According to USB Audio Device 2.0 Spec, Ch4.10.1.1: wMaxPacketSize is defined as follows: Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. This is determined by the audio bandwidth constraints of the endpoint. In current code, the wMaxPacketSize is defined as the maximum packet size for ISO endpoint, and it will let the host reserve much more space than it really needs, so that we can't let more endpoints work together at one frame. We find this issue when we try to let 4 f_uac2 gadgets work together [1] at FS connection. [1]http://www.spinics.net/lists/linux-usb/msg123478.htmlAcked-by:
Daniel Mack <zonque@gmail.com> Cc: andrzej.p@samsung.com Cc: Daniel Mack <zonque@gmail.com> Cc: tiwai@suse.de Cc: <stable@vger.kernel.org> #v3.18+ Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Sanjay Singh Rawat authored
After the worker thread is launched, bind function is doing further configuration. In case of failure stop the thread. Acked-by:
Michal Nazarewicz <mina86@mina86.com> Signed-off-by:
Sanjay Singh Rawat <snjsrwt@gmail.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Dan Carpenter authored
There is an "&&" vs "||" typo here so this loops 3000 times or if we get unlucky it could loop forever. Fixes: ceaa0a6e ('usb: gadget: m66592-udc: add support for TEST_MODE') Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Dan Carpenter authored
We handle the "if (!req->req.length)" condition at the start of the function and return. We can delete this dead code. Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Ivan T. Ivanov authored
apq8016-sbc board is using Dual SPDT USB Switch (TC7USB40MU), witch is controlled by GPIO to de/multiplex D+/D- USB lines to USB2513B Hub and uB connector. Add support for this. Signed-off-by:
Ivan T. Ivanov <ivan.ivanov@linaro.org> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Replace calls of gadget_supports_altsettings() function (which check altset support by comparing UDC controller name with hardcoded names) with gadget_is_altset_supported() which checks generic quirk bitfield. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Use generic mechanism to check if UDC controller supports zlp. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Use generic mechanism to check if UDC controller supports stalling. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Due to some UDC controllers may not support zlp, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_zlp_not_supp' field to struct usb_gadget and helper function gadget_is_zlp_supported(). It also sets 'quirk_zlp_not_supp' to 1 in musb UDC driver, which has such limitation. [ balbi@ti.com : make it build ] Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Due to some UDC controllers may not support stalling, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_stall_not_supp' field to struct usb_gadget and helper function gadget_is_stall_supported(). It also sets 'quirk_stall_not_supp' to 1 in at91_udc driver, which has such limitation. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Due to some UDC controllers may not support altsettings, usb gadget layer needs to provide a generic way to inform gadget functions about non-standard hardware limitations. This patch adds 'quirk_altset_not_supp' field to struct usb_gadget and helper function gadget_is_altset_supported(). It also sets 'quirk_altset_not_supp' to 1 in pxa25x_udc and pxa27x_udc drivers, which have such limitation. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
Use chained TRB mechanism to handle non maxpacket aligned transfers greater than bounce buffer size. With this the first TRB will be programmed to receive 'ALIGN(ur->length - maxp, maxp)' data and the second TRB will be programmed to receive the remaining data using bounce buffer. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
Add chained TRB support to ep0. Now TRB's can be chained just by invoking _dwc3_ep0_start_trans_ with 'chain' parameter set to true. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
No functional change. Added a new parameter in _dwc3_ep0_start_trans_ to indicate whether the TRB is a chained TRB or last TRB. This is in preparation for adding chained TRB support for ep0. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
No functional change. This is in preparation for handling non maxpacket aligned transfers greater than bounce buffer size. This is basically to avoid code duplication when using chained TRB transfers to handle non maxpacket aligned transfers greater than bounce buffer size. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
No functional change. Used _roundup_ macro to calculate the transfer size aligned to maxpacket in dwc3_ep0_complete_data. It also makes it similar to how transfer size is calculated in __dwc3_ep0_do_control_data. Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Kishon Vijay Abraham I authored
DWC3 uses bounce buffer to handle non max packet aligned OUT transfers and the size of bounce buffer is 512 bytes. However if the host initiates OUT transfers of size more than 512 bytes (and non max packet aligned), the driver throws a WARN dump but still programs the TRB to receive more than 512 bytes. This will cause bounce buffer to overflow and corrupt the adjacent memory locations which can be fatal. Fix it by programming the TRB to receive a maximum of DWC3_EP0_BOUNCE_SIZE (512) bytes. Cc: <stable@vger.kernel.org> # 3.4+ Signed-off-by:
Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
- 29 Jul, 2015 20 commits
-
-
Phil Edworthy authored
These changes allow a PHY driver to trigger a VBUS interrupt and to provide the value of VBUS. Reviewed-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations. If otg capability is not defined, keep its original otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while ether unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate and initialize usb otg descriptor according to gadget otg capabilities, add it for each usb configurations, free it while composite unbind. If otg capability is not defined, keep its otg descriptor unchanged. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Allocate usb otg descriptor and initialize it according to gadget's otg capabilities, if usb_otg_caps is not set, keep settings as current gadget drivers. With this 2 new interfaces, gadget can use usb_otg_descriptor for OTG 1.x, and usb_otg20_descriptor for OTG 2.0 or above, and otg features can be decided by the combination of usb hardware property and driver config. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
After introduce usb otg properties, update ci_otg_is_fsm_mode conditions to be depending on both usb hardware properties and usb driver config, also resolve a compile issue in debug.c after the API change. Acked-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Init and update otg capabilities by DT, set gadget's otg capabilities accordingly. Acked-by:
Peter Chen <peter.chen@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Check property of usb hardware to update otg version and disable SRP, HNP and ADP if its disable flag is present. Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
Add otg version, srp, hnp and adp support for usb OTG port, then those OTG features don't have to be decided by usb gadget drivers. Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Macpaul Lin authored
Copy usb_otg_descriptor from config's descriptor if host requests USB_DT_OTG. Signed-off-by:
Macpaul Lin <macpaul@gmail.com> Signed-off-by:
Li Jun <jun.li@freescale.com> Reviewed-by:
Roger Quadros <rogerq@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-