- 24 Jan, 2017 40 commits
-
-
Vincent Pelletier authored
It is allowed by the USB specification to enabled same-address, opposite- direction endpoints simultaneously, which means 30 non-zero endpoints are allowed. So double eps_addrmap length to 30. The original code only accepted 14 descriptors out of a likely intended 15 (as there are 15 endpoint addresses, ignoring direction), because the first eps_addrmap entry is unused (it is a placeholder for endpoint zero). So increase eps_addrmap length by one to 31. Signed-off-by:
Vincent Pelletier <plr.vincent@gmail.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Vincent Pelletier authored
Endpoint descriptors come in 2 sizes, struct usb_endpoint_descriptor being the largest. Use bLength to stop on endpoint descriptor boundary, and not 2 bytes too far. Signed-off-by:
Vincent Pelletier <plr.vincent@gmail.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Baolin Wang authored
Since the set_power callback did not do anything for power setting, then remove it. Signed-off-by:
Baolin Wang <baolin.wang@linaro.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Baolin Wang authored
Since it will not set the PMIC current drawn from USB configuration by set_power callback, then remove it. Signed-off-by:
Baolin Wang <baolin.wang@linaro.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Baolin Wang authored
There are no users will use the vbus_draw variable set by set_power() callback to set the vbus current. Thus we can remove it. Signed-off-by:
Baolin Wang <baolin.wang@linaro.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Sevak Arakelyan authored
Add programming of GDFIFOCFG register in device mode. It must contain start address for EP Info block and total FIFO depth. Signed-off-by:
Sevak Arakelyan <sevaka@synopsys.com> Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Peter Chen authored
There are only two requests for uac2, it may not be enough at high loading system which usb interrupt handler can't be serviced on time, then the data will be lost since it is isoc transfer for audio. In this patch, we introduce a parameter for the number for usb request, and the user can override it if current number for request is not enough for his/her use case. Besides, update this parameter for legacy audio gadget and documentation. Signed-off-by:
Peter Chen <peter.chen@nxp.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
Take the sizeof '*req' instead of 'struct dwc2_hsotg_req'. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
The function returns void so a return is unnecessary. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
The indent should be only one tab. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
Fix lines over 80 characters. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
* Remove braces for one-line statements * Add missing braces where another arm in if-statement uses braces Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
Fix the formatting of logical statements to end the line with the logical operator. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
Fix misaligned and over 80-character comments. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
Fixes checkpatch warning: WARNING: function definition argument 'struct dwc2_hsotg *' should also have an identifier name Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
John Youn authored
This commmit is the result of running checkpatch --fix. The results were verified for correctness. Some of the fixes result in line over 80 char which we will fix manually later. The following is a summary of what was done by checkpatch: * Remove externs on function prototypes. * Replace symbolic permissions with octal. * Align code to open parens. * Replace 'unsigned' with 'unsigned int'. * Remove unneccessary blank lines. * Add blank lines after declarations. * Add spaces around operators. * Remove unnecessary spaces after casts. * Replace 'x == NULL' with '!x'. * Replace kzalloc() with kcalloc(). * Concatenate multi-line strings. * Use the BIT() macro. Signed-off-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Krzysztof Opasiak authored
As IN request has to be allocated in set_alt() and released in disable() we cannot use mutex to protect it as we cannot sleep in those funcitons. Let's replace this mutex with a spinlock. Cc: stable@vger.kernel.org Tested-by:
David Lechner <david@lechnology.com> Signed-off-by:
Krzysztof Opasiak <k.opasiak@samsung.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Krzysztof Opasiak authored
When we unlock our spinlock to copy data to user we may get disabled by USB host and free the whole list of completed out requests including the one from which we are copying the data to user memory. To prevent from this let's remove our working element from the list and place it back only if there is sth left when we finish with it. Fixes: 99c51500 ("usb: gadget: hidg: register OUT INT endpoint for SET_REPORT") Cc: stable@vger.kernel.org Tested-by:
David Lechner <david@lechnology.com> Signed-off-by:
Krzysztof Opasiak <k.opasiak@samsung.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Krzysztof Opasiak authored
Requests for out endpoint are allocated in bind() function but never released. This commit ensures that all pending requests are released when we disable out endpoint. Fixes: 99c51500 ("usb: gadget: hidg: register OUT INT endpoint for SET_REPORT") Cc: stable@vger.kernel.org Tested-by:
David Lechner <david@lechnology.com> Signed-off-by:
Krzysztof Opasiak <k.opasiak@samsung.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
Without SS descriptors, we have no possibility of running on SS controllers such as DWC3. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
_BSD_SOURCE is deprecated and gives a build warning. Let's use _DEFAULT_SOURCE instead. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
At least macOS seems to be sending ClearFeature(ENDPOINT_HALT) to endpoints which aren't Halted. This makes DWC3's CLEARSTALL command time out which causes several issues for the driver. Instead, let's just return 0 and bail out early. Cc: <stable@vger.kernel.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Baolin Wang authored
When handing the SETUP packet by composite_setup(), we will release the dwc->lock. If we get the 'USB_GADGET_DELAYED_STATUS' result from setup function, which means we need to delay handling the STATUS phase. But during the lock release period, maybe the request for handling delay STATUS phase has been queued into list before we set 'dwc->delayed_status' flag or entering 'EP0_STATUS_PHASE' phase, then we will miss the chance to handle the STATUS phase. Thus we should check if the request for delay STATUS phase has been enqueued when entering 'EP0_STATUS_PHASE' phase in dwc3_ep0_xfernotready(), if so, we should handle it. Signed-off-by:
Baolin Wang <baolin.wang@linaro.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch replaces the deprecated extcon API as following: - extcon_set_cable_state_() -> extcon_set_state_sync() Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch uses the resource-managed extcon API for extcon_register_notifier() and replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Cc: linux-omap@vger.kernel.org Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Acked-by:
Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch uses the resource-managed extcon API for extcon_register_notifier() and replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch uses the resource-managed extcon API for extcon_register_notifier() and replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Chanwoo Choi authored
This patch uses the resource-managed extcon API for extcon_register_notifier() and replaces the deprecated extcon API as following: - extcon_get_cable_state_() -> extcon_get_state() Cc: linux-omap@vger.kernel.org Signed-off-by:
Chanwoo Choi <cw00.choi@samsung.com> Acked-by:
Felipe Balbi <felipe.balbi@linux.intel.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
Instead of passing quirk_ep_out_aligned_size, we can use one extra TRB to align transfer to wMaxPacketSize. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
Allocate a coherent buffer of 1024 bytes (size of a single superspeed bulk packet) to serve as bounce buffer for an extra TRB needed to align transfers to wMaxPacketSize. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
This new internal function will be used to solve a minor issue with dwc3 which exists in regards to short packets with OUT endpoints. Currently we're asking gadget driver to *always* send us aligned requests; however if we have enough TRBs we can easily append one extra TRB chained to the previous and keep a throw away 1024 byte buffer around for that. The actual fix will come in a separate patch, this is merely in preparation for such fix. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Felipe Balbi authored
We are already passing struct dwc3_request * to dwc3_prepare_one_trb(), because of that there's no need to extract dma address and length in the caller. We can let dwc3_prepare_one_trb() itself handle that part. This simplifies the prototype of the function by removing two arguments. Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Peter Chen authored
If it is out of memory, we should return -ENOMEM; Signed-off-by:
Peter Chen <peter.chen@nxp.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Yegor Yefremov authored
Fixes wrong spelled "pinctrl-bindings.txt" and "qcom-dwc3-usb-phy.txt" file names as also wrong specified "mt8173-mtu3.txt" file name. Signed-off-by:
Yegor Yefremov <yegorslists@googlemail.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Martin Blumenstingl authored
dwc3 internally creates a usb-xhci device which means that all properties documented in usb-xhci.txt are supported as well. Acked-by:
Rob Herring <robh@kernel.org> Signed-off-by:
Martin Blumenstingl <martin.blumenstingl@googlemail.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Nicholas Mc Guire authored
For boolean variables true/false is preferred over 1/0 for readability. Acked-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Nicholas Mc Guire authored
ulseep_range() uses hrtimers and provides no advantage over msleep() for larger delays. Fix up the 20+ ms delays here passing the adjusted "min" value to msleep(). This helps reduce the load on the hrtimer subsystem. Acked-by:
John Youn <johnyoun@synopsys.com> Signed-off-by:
Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Javier Martinez Canillas authored
Exynos is DT-only, so there's no need for a platform MODALIAS. Signed-off-by:
Javier Martinez Canillas <javier@osg.samsung.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-
Shuah Khan authored
dwc3-exynos prints debug message when suspend clock is not specified. The suspend clock is optional and driver can work without it. This debug message doesn't add any value and leads to confusion and concern. Remove it. Signed-off-by:
Shuah Khan <shuahkh@osg.samsung.com> Signed-off-by:
Felipe Balbi <felipe.balbi@linux.intel.com>
-