<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/dwc2/core.c, branch linux-4.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-02-17T08:31:42Z</updated>
<entry>
<title>usb: dwc2: Add extra delay when forcing dr_mode</title>
<updated>2016-02-17T08:31:42Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2016-02-15T23:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bd84f4ae9986ac9acd278566ccb39c60bc961abb'/>
<id>urn:sha1:bd84f4ae9986ac9acd278566ccb39c60bc961abb</id>
<content type='text'>
Fixes an issue found on rockchip rk3036 and rk3188 SOC platforms. For
some reason, the existing msleep(25) is not enough after the force mode.
The following patch was reported to fix the issue.

This does increase the probe delay again slightly, but not up to the
level it was before the original series of patches that this fixes. It
does not cause any other issues when tested on Synopsys HAPS and Altera
socfpga platforms.

Need to revisit this series next release to see if we can address these
issues without having an unconditional delay.

Fixes: 09c96980dc72 ("usb: dwc2: Add functions to set and clear force mode")
Reported-by: Caesar Wang &lt;caesar.upstream@gmail.com&gt;
Reported-by: Michael Niewoehner &lt;linux@mniewoehner.de&gt;
Tested-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Tested-by: Caesar Wang &lt;caesar.upstream@gmail.com&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Fix probe problem on bcm2835</title>
<updated>2016-02-03T18:15:49Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2016-01-12T00:32:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=192cb07f7928e8cb09a9851e6c0f7478baa3bc6d'/>
<id>urn:sha1:192cb07f7928e8cb09a9851e6c0f7478baa3bc6d</id>
<content type='text'>
Fixes an issue found on Raspberry PI platform that prevents probe. Don't
skip setting the force mode if it's already set.

Fixes: 09c96980dc72 ("usb: dwc2: Add functions to set and clear force mode")
Tested-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Tested-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Reported-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Reported-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Tested-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>Revert "usb: dwc2: Move reset into dwc2_get_hwparams()"</title>
<updated>2016-02-03T18:15:19Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2016-01-12T00:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03b32e4c9bd1b52fcf1e4304e7a704aa0315e398'/>
<id>urn:sha1:03b32e4c9bd1b52fcf1e4304e7a704aa0315e398</id>
<content type='text'>
This reverts commit 263b7fb557f7 ("usb: dwc2: Move reset into
dwc2_get_hwparams()") due to regression found on bcm2835 platform. USB
ethernet fails, due to being unable to pick up proper parameters when
performing a plain reset before reading hw params.

Below shows the results of the gnptxfsiz and hptxfsiz with and before
and after reverting this (from Stefan Wahren):

So here is the probe result before Patch 1 is applied:

[    1.283148] dwc2 20980000.usb: Configuration mismatch. dr_mode forced to host
[    1.313894] dwc2 20980000.usb: gnptxfsiz=00201000
[    1.314104] dwc2 20980000.usb: hptxfsiz=00000000
[    1.353908] dwc2 20980000.usb: 256 invalid for host_nperio_tx_fifo_size. Check HW configuration.
[    1.354262] dwc2 20980000.usb: 512 invalid for host_perio_tx_fifo_size. Check HW configuration.
[    1.394249] dwc2 20980000.usb: DWC OTG Controller
[    1.394561] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
[    1.394917] dwc2 20980000.usb: irq 33, io mem 0x00000000

And here is the probe result after Patch 1 is applied:

[    1.280107] dwc2 20980000.usb: Configuration mismatch. dr_mode forced to host
[    1.353949] dwc2 20980000.usb: gnptxfsiz=01001000
[    1.354166] dwc2 20980000.usb: hptxfsiz=02002000
[    1.434301] dwc2 20980000.usb: DWC OTG Controller
[    1.434616] dwc2 20980000.usb: new USB bus registered, assigned bus number 1
[    1.434973] dwc2 20980000.usb: irq 33, io mem 0x00000000

Tested-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Tested-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Reported-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Reported-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Tested-by: Remi Pommarel &lt;repk@triplefau.lt&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Reduce delay when forcing mode in reset</title>
<updated>2015-12-22T18:01:32Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:18:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=97e463886b873f62bea2293e7edf81fdb884b84f'/>
<id>urn:sha1:97e463886b873f62bea2293e7edf81fdb884b84f</id>
<content type='text'>
The delay for force mode is only 25ms according to the databook.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Improve handling of host and device hwparams</title>
<updated>2015-12-22T18:00:51Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=55e1040e424b59063da627fb580ec953f4c01de7'/>
<id>urn:sha1:55e1040e424b59063da627fb580ec953f4c01de7</id>
<content type='text'>
Adds separate functions to get the host and device specific hardware
parameters. The functions check whether the parameters need to be read
at all, depending on dr_mode, and forces the mode only if necessary.
This saves some delays during probe. This also adds two device mode
parameters that will be used by the gadget.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Add functions to set and clear force mode</title>
<updated>2015-12-22T18:00:34Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:17:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09c96980dc723462ed2eeacc945fed5bcb278f85'/>
<id>urn:sha1:09c96980dc723462ed2eeacc945fed5bcb278f85</id>
<content type='text'>
Added functions to set force mode for host and device. These functions
will check the current mode and only force if needed thus avoiding
unnecessary force mode delays. However clearing the mode is currently
done unconditionally and with the delay in place. This is needed during
the connector ID status change interrupt in order to ensure that the
mode has changed properly. This preserves the old behavior only for this
case. The warning comment about this is moved into the clear mode
condition.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Move reset into dwc2_get_hwparams()</title>
<updated>2015-12-22T17:58:34Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:16:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=263b7fb557f797d9d4d1dcf93fb6bb2efc3f1d46'/>
<id>urn:sha1:263b7fb557f797d9d4d1dcf93fb6bb2efc3f1d46</id>
<content type='text'>
The reset is required to get reset values of the hardware parameters but
the force mode is not. Move the base reset into dwc2_get_hwparams() and
do the reset and force mode afterwards.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Add functions to check the HW OTG config</title>
<updated>2015-12-22T17:55:46Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:16:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bea962053e76a4407f0d138184a8737eea960ee'/>
<id>urn:sha1:6bea962053e76a4407f0d138184a8737eea960ee</id>
<content type='text'>
Added functions to query the GHWCFG2.OTG_MODE. This tells us whether the
controller hardware is configured for OTG, device-only, or host-only.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Tested-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Reviewed-by: Douglas Anderson &lt;dianders@chromium.org&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Add dwc2_core_reset()</title>
<updated>2015-12-22T17:55:32Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:16:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b5d308abef1c5c0f24128845e41d414a8f8438f6'/>
<id>urn:sha1:b5d308abef1c5c0f24128845e41d414a8f8438f6</id>
<content type='text'>
dwc2_core_reset() was previously renamed to
dwc2_core_reset_and_dr_force_mode(). Now add back dwc2_core_reset() which
performs only a basic core reset without forcing the mode.

Signed-off-by: John Youn &lt;johnyoun@synopsys.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@ti.com&gt;
</content>
</entry>
<entry>
<title>usb: dwc2: Rename dwc2_core_reset()</title>
<updated>2015-12-22T17:55:21Z</updated>
<author>
<name>John Youn</name>
</author>
<published>2015-12-17T19:15:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6d58f346a61ff50eda740e6216e9829e572d75c8'/>
<id>urn:sha1:6d58f346a61ff50eda740e6216e9829e572d75c8</id>
<content type='text'>
Renamed dwc2_core_reset() to dwc2_core_reset_and_force_dr_mode(). This
describes what it is doing more accurately. This is in preparation of
introducing a plain dwc2_core_reset() function that only performs the
reset and doesn't force the mode.

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