<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/dwc2/core.h, branch linux-4.12.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.12.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-04-11T07:58:17Z</updated>
<entry>
<title>usb: dwc2: Add support for STM32F429/439/469 USB OTG HS/FS in FS mode (internal PHY)</title>
<updated>2017-04-11T07:58:17Z</updated>
<author>
<name>Bruno Herrera</name>
</author>
<published>2017-02-01T01:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e35b135055e24d705736fd98c975afc46a793a09'/>
<id>urn:sha1:e35b135055e24d705736fd98c975afc46a793a09</id>
<content type='text'>
This patch introduces a new parameter to activate USB OTG HS/FS core
embedded phy transceiver. The STM32F4x9 SoC uses the GGPIO register
to enable the transceiver.
Also add the dwc2_set_params function for stm32f4 otg fs.

Acked-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Bruno Herrera &lt;bruherrera@gmail.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: eliminate irq parameter from dwc2_hcd_init</title>
<updated>2017-01-26T08:52:01Z</updated>
<author>
<name>Heiner Kallweit</name>
</author>
<published>2017-01-25T22:13:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4fe160d51e4226a80f81b3d9b5193e0b8d2ebcbd'/>
<id>urn:sha1:4fe160d51e4226a80f81b3d9b5193e0b8d2ebcbd</id>
<content type='text'>
The irq is available in hsotg already, so there's no need to
pass it as separate function parameter.

Acked-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Heiner Kallweit &lt;hkallweit1@gmail.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: gadget: Set TX FIFO depths to calculated defaults</title>
<updated>2017-01-24T14:19:11Z</updated>
<author>
<name>Sevak Arakelyan</name>
</author>
<published>2017-01-23T23:01:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c138ecfa6108edee17fabfa56285b00f66641659'/>
<id>urn:sha1:c138ecfa6108edee17fabfa56285b00f66641659</id>
<content type='text'>
Remove legacy DWC2_G_P_LEGACY_TX_FIFO_SIZE array for TX FIFOs.
Update dwc2_set_param_tx_fifo_sizes function to calculate
and assign default average FIFO depth to each member of
g_tx_fifo_size array. Total FIFO size, EP Info block's size,
FIFO operation mode and device operation mode are taken into
consideration during the calculation.

Cc: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Signed-off-by: Sevak Arakelyan &lt;sevaka@synopsys.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: host: Correct snpsid checking for GDFIFOCFG</title>
<updated>2017-01-24T14:19:10Z</updated>
<author>
<name>Sevak Arakelyan</name>
</author>
<published>2017-01-23T23:01:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1f411d1b3db49a2089f47087410dcfec6564e28'/>
<id>urn:sha1:e1f411d1b3db49a2089f47087410dcfec6564e28</id>
<content type='text'>
GDFIFOCFG is available from IP version 2.91a. Fix the code to reflect
this.

Signed-off-by: Sevak Arakelyan &lt;sevaka@synopsys.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Add a quirk to allow speed negotiation for Hisilicon Hi6220</title>
<updated>2017-01-24T14:19:10Z</updated>
<author>
<name>Chen Yu</name>
</author>
<published>2017-01-23T23:00:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ca8b03324877e1804161fd4e0100d49f03ad9fce'/>
<id>urn:sha1:ca8b03324877e1804161fd4e0100d49f03ad9fce</id>
<content type='text'>
The Hi6220's usb controller is limited in that it does not
support "Split Transactions", so it does not support communicating
with low-speed and full-speed devices behind a high-speed hub.

Thus it requires a quirk so that we can manually drop the usb
speed when low/full-speed are attached, and bump back to high
speed when they are removed.

Cc: Wei Xu &lt;xuwei5@hisilicon.com&gt;
Cc: Guodong Xu &lt;guodong.xu@linaro.org&gt;
Cc: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Cc: Rob Herring &lt;robh+dt@kernel.org&gt;
Cc: John Youn &lt;johnyoun@synopsys.com&gt;
Cc: Douglas Anderson &lt;dianders@chromium.org&gt;
Cc: Chen Yu &lt;chenyu56@huawei.com&gt;
Cc: Vardan Mikayelyan &lt;mvardan@synopsys.com&gt;
Cc: Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Cc: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: linux-usb@vger.kernel.org
Signed-off-by: Chen Yu &lt;chenyu56@huawei.com&gt;
[jstultz: Reworked to simplify the patch, and made
 commit log to be more specific about the issue]
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Avoid sleeping while holding hsotg-&gt;lock</title>
<updated>2017-01-24T14:19:08Z</updated>
<author>
<name>John Stultz</name>
</author>
<published>2017-01-23T22:59:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e6360b67d12370638ad1bc8943cc63d4c89da27'/>
<id>urn:sha1:6e6360b67d12370638ad1bc8943cc63d4c89da27</id>
<content type='text'>
Basically when plugging in various cables in different orders, I'm
occasionally seeing the following BUG splat:

[   86.215403] BUG: scheduling while atomic: kworker/u16:2/53/0x00000002
[   86.219164] usb 1-1: USB disconnect, device number 9
[   86.226845] Preemption disabled at:[   86.230218]
[&lt;ffffff8008673558&gt;] dwc2_conn_id_status_change+0x120/0x250
[   86.236894] CPU: 0 PID: 53 Comm: kworker/u16:2 Tainted: G        W
     4.9.0-rc8-00051-gd5a7979-dirty #1702
[   86.246836] Hardware name: HiKey Development Board (DT)
[   86.252100] Workqueue: dwc2 dwc2_conn_id_status_change
[   86.257279] Call trace:
[   86.259771] [&lt;ffffff8008087c28&gt;] dump_backtrace+0x0/0x1a0
[   86.265210] [&lt;ffffff8008087ddc&gt;] show_stack+0x14/0x20
[   86.270308] [&lt;ffffff80084343f0&gt;] dump_stack+0x90/0xb0
[   86.275401] [&lt;ffffff80080d8d94&gt;] __schedule_bug+0x6c/0xb8
[   86.280841] [&lt;ffffff8008a07220&gt;] __schedule+0x4f8/0x5b0
[   86.286099] [&lt;ffffff8008a073e8&gt;] schedule+0x38/0xa0
[   86.291017] [&lt;ffffff8008a0a6cc&gt;] schedule_hrtimeout_range_clock+0x8c/0xf0
[   86.297846] [&lt;ffffff8008a0a740&gt;] schedule_hrtimeout_range+0x10/0x18
[   86.304150] [&lt;ffffff8008a0a4a0&gt;] usleep_range+0x50/0x58
[   86.309418] [&lt;ffffff800866d8dc&gt;] dwc2_wait_for_mode.isra.4+0x54/0xd0
[   86.315815] [&lt;ffffff800866f058&gt;] dwc2_core_reset+0xe0/0x168
[   86.321431] [&lt;ffffff800867e364&gt;] dwc2_hsotg_core_init_disconnected+0x2c/0x310
[   86.328602] [&lt;ffffff8008673568&gt;] dwc2_conn_id_status_change+0x130/0x250
[   86.335254] [&lt;ffffff80080ccd48&gt;] process_one_work+0x118/0x370
[   86.341035] [&lt;ffffff80080ccfe8&gt;] worker_thread+0x48/0x498
[   86.346473] [&lt;ffffff80080d2eb0&gt;] kthread+0xd0/0xe8
[   86.351299] [&lt;ffffff8008082e80&gt;] ret_from_fork+0x10/0x50

This seems to be caused by the dwc2_wait_for_mode() calling
usleep_range() while the hstog-&gt;lock spinlock is held, since
we take that before calling dwc2_hsotg_core_init_disconnected().

This patch avoids the issue by adding an extra argument to
dwc2_core_reset(), as suggested by John Youn, which allows us to
skip the waiting, which should be unnecessary when calling from
dwc2_hsotg_core_init_disconnected().

Cc: Wei Xu &lt;xuwei5@hisilicon.com&gt;
Cc: Guodong Xu &lt;guodong.xu@linaro.org&gt;
Cc: Amit Pundir &lt;amit.pundir@linaro.org&gt;
Cc: Rob Herring &lt;robh+dt@kernel.org&gt;
Cc: John Youn &lt;johnyoun@synopsys.com&gt;
Cc: Douglas Anderson &lt;dianders@chromium.org&gt;
Cc: Chen Yu &lt;chenyu56@huawei.com&gt;
Cc: Vardan Mikayelyan &lt;mvardan@synopsys.com&gt;
Cc: Kishon Vijay Abraham I &lt;kishon@ti.com&gt;
Cc: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: linux-usb@vger.kernel.org
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Fix usage of bool params</title>
<updated>2017-01-24T14:19:07Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2017-01-23T22:57:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95832c00bc5ce3ed140f5f9b669803f75ac1431e'/>
<id>urn:sha1:95832c00bc5ce3ed140f5f9b669803f75ac1431e</id>
<content type='text'>
Check these parameters only for true or false. There is no need to check
for greater or less than 0.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Rearrange param structure members</title>
<updated>2017-01-24T14:19:06Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2017-01-23T22:56:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=57b8e23511408e45e8948616cc3345dc3e08d20b'/>
<id>urn:sha1:57b8e23511408e45e8948616cc3345dc3e08d20b</id>
<content type='text'>
Group the members by global, host, and gadget params. Formatting and
organizational change only.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Update parameter types</title>
<updated>2017-01-24T14:19:05Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2017-01-23T22:55:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d21bcc3f035ce324f43903c29f9931ebcd0b2c44'/>
<id>urn:sha1:d21bcc3f035ce324f43903c29f9931ebcd0b2c44</id>
<content type='text'>
Update the param types to appropriately sized ints and bools.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Set core parameters to default values</title>
<updated>2017-01-24T14:19:05Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2017-01-23T22:55:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=245977c967eee19de4d5e95ec67227dcfe57b0e2'/>
<id>urn:sha1:245977c967eee19de4d5e95ec67227dcfe57b0e2</id>
<content type='text'>
Initialize the core parameters to their default, auto-detected values.

Remove all the previous dwc2_set_param* methods. Most of what this code
is doing is handling defaults for "not set" values and other trivial
checks. The checking can be simplified and will be done in a later
commit.

This allows us to change only those parameters that won't work with
default settings. It also allows us to use non-int parameters.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;felipe.balbi@linux.intel.com&gt;
</content>
</entry>
</feed>
