<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/cdns3/core.c, branch linux-5.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2020-12-10T10:30:31Z</updated>
<entry>
<title>Merge tag 'usb-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb into usb-next</title>
<updated>2020-12-10T10:30:31Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
</author>
<published>2020-12-10T10:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d2a968dddf98b837de9f9b3f954537c86c9a9f81'/>
<id>urn:sha1:d2a968dddf98b837de9f9b3f954537c86c9a9f81</id>
<content type='text'>
Peter writes:

Below are main changes for v5.11-rc1:

For Chipidea USB2:
- Add tracepoint support for UDC
- Some tiny improvements

For Cadence USB3
- Add some quirks for host mode, and let host work well at more use cases
	* SKIP_PHY_INIT
	* Disable BEI
	* Enable runtime PM default for i.mx platform
- Some tiny improvements

* tag 'usb-v5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/usb:
  MAINTAINERS: Add myself as a reviewer for CADENCE USB3 DRD IP DRIVER
  usb: chipidea: ci_hdrc_imx: Use of_device_get_match_data()
  usb: chipidea: usbmisc_imx: Use of_device_get_match_data()
  usb: cdns3: fix NULL pointer dereference on no platform data
  usb: chipidea: trace: fix the endian issue
  usb: chipidea: add tracepoint support for udc
  doc: dt-binding: cdns,usb3: add wakeup-irq
  usb: cdns3: imx: enable runtime pm by default
  usb: cdns3: add quirk for enable runtime pm by default
  usb: cdns3: host: disable BEI support
  usb: cdns3: host: add xhci_plat_priv quirk XHCI_SKIP_PHY_INIT
  usb: cdns3: host: add .suspend_quirk for xhci-plat.c
  usb: cdns3: Rids of duplicate error message
  usb: cdns3: Add static to cdns3_gadget_exit function
</content>
</entry>
<entry>
<title>usb: cdns3: fix NULL pointer dereference on no platform data</title>
<updated>2020-12-10T09:35:33Z</updated>
<author>
<name>Roger Quadros</name>
</author>
<published>2020-11-23T10:49:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=448373d9db1a7000072f65103af19e20503f0c0c'/>
<id>urn:sha1:448373d9db1a7000072f65103af19e20503f0c0c</id>
<content type='text'>
Some platforms (e.g. TI) will not have any platform data which will
lead to NULL pointer dereference if we don't check for NULL pdata.

Fixes: 7cea9657756b ("usb: cdns3: add quirk for enable runtime pm by default")
Reported-by: Nishanth Menon &lt;nm@ti.com&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Acked-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: add quirk for enable runtime pm by default</title>
<updated>2020-12-10T00:45:26Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-09-28T07:20:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7cea9657756b2c83069a775c0671ff169bce456a'/>
<id>urn:sha1:7cea9657756b2c83069a775c0671ff169bce456a</id>
<content type='text'>
Some vendors (eg: NXP) may want to enable runtime pm by default for
power saving, add one quirk for it.

Reviewed-by: Jun Li &lt;jun.li@nxp.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: Rids of duplicate error message</title>
<updated>2020-12-10T00:45:26Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-10-15T04:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cdd3013dcc5cf6b03150caac0b96212ab221cf7a'/>
<id>urn:sha1:cdd3013dcc5cf6b03150caac0b96212ab221cf7a</id>
<content type='text'>
On failure, the platform_get_irq_byname prints an error message,
so patch removes error message related to this function from
core.c file.

A change was suggested during reviewing CDNSP driver by Chunfeng Yun.

Acked-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Acked-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: core: fix goto label for error path</title>
<updated>2020-11-30T05:48:32Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-11-26T06:02:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b8137517e70f6e96d0251a98930b1f29d0be161'/>
<id>urn:sha1:6b8137517e70f6e96d0251a98930b1f29d0be161</id>
<content type='text'>
The usb_role_switch_register has been already called, so if the
devm_request_irq has failed, it needs to call usb_role_switch_unregister.

Fixes: b1234e3b3b26 ("usb: cdns3: add runtime PM support")
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: Fix hardware based role switch</title>
<updated>2020-11-30T05:48:32Z</updated>
<author>
<name>Roger Quadros</name>
</author>
<published>2020-11-25T12:49:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6703052fe30fa0d85f1fbbf50171486cb0148d2d'/>
<id>urn:sha1:6703052fe30fa0d85f1fbbf50171486cb0148d2d</id>
<content type='text'>
Hardware based role switch is broken as the driver always skips it.
Fix this by registering for  SW role switch only if 'usb-role-switch'
property is present in the device tree.

Fixes: 50642709f659 ("usb: cdns3: core: quit if it uses role switch class")
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: core: quit if it uses role switch class</title>
<updated>2020-10-02T06:57:40Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-09-01T02:33:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50642709f6590fe40afa6d22c32f23f5b842aed5'/>
<id>urn:sha1:50642709f6590fe40afa6d22c32f23f5b842aed5</id>
<content type='text'>
If the board uses role switch class for switching the role, it should
not depends on SoC OTG hardware siginal any more, so quit early.

Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: Enable workaround for USB2.0 PHY Rx compliance test PHY lockup</title>
<updated>2020-10-02T06:57:39Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-09-15T11:45:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2eae2dfd581420f94d6041dddc7a88d7ae9ce2ff'/>
<id>urn:sha1:2eae2dfd581420f94d6041dddc7a88d7ae9ce2ff</id>
<content type='text'>
USB2.0 PHY hangs in Rx Compliance test when the incoming packet
amplitude is varied below and above the Squelch Level of
Receiver during the active packet multiple times.

Version 1 of the controller allows PHY to be reset when RX fail condition
is detected to work around the above issue. This feature is
disabled by default and needs to be enabled using a bit from
the newly added PHYRST_CFG register. This patch enables the workaround.

There is no way to know controller version before device controller
is started and the workaround needs to be applied for both host and
device modes, so we rely on a DT property do decide when to
apply the workaround.

Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Roger Quadros &lt;rogerq@ti.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: add runtime PM support</title>
<updated>2020-10-02T06:57:38Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-09-02T09:57:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b1234e3b3b265588bab1e7a28508621045b87efa'/>
<id>urn:sha1:b1234e3b3b265588bab1e7a28508621045b87efa</id>
<content type='text'>
Introduce runtime PM and wakeup interrupt handler for cdns3,
the runtime PM is default off since other cdns3 may not
implement glue layer support for runtime PM.

One typical wakeup event use case is xHCI runtime suspend will clear
USBCMD.RS bit, after that the xHCI will not trigger any interrupts,
so its parent (cdns core device) needs to resume xHCI device when
any (wakeup) events occurs at host port.

When the controller is in low power mode, the lpm flag will be set.
The interrupt triggered later than lpm flag is set considers as
wakeup interrupt and handled at cdns_wakeup_irq. Once the wakeup
occurs, it first disables interrupt to avoid later interrupt
occurrence since the controller is in low power mode at that
time, and access registers may be invalid at that time. At wakeup
handler, it will call pm_request_resume to wakeup xHCI device, and
at runtime resume handler, it will enable interrupt again.

The API platform_suspend is introduced for glue layer to implement
platform specific PM sequence.

Reviewed-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: introduce set_phy_power_on{off} APIs</title>
<updated>2020-10-02T06:57:38Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-09-02T09:57:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=efe2fa0836a7a051a816c90b44f07590f2fd74c5'/>
<id>urn:sha1:efe2fa0836a7a051a816c90b44f07590f2fd74c5</id>
<content type='text'>
Since we have both USB2 and USB3 PHYs for cdns3 controller, it is
better we have unity APIs to handle both USB2 and USB3's power, it
could simplify code for error handling and further power management
implementation.

Reviewed-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Reviewed-by: Jun Li &lt;jun.li@nxp.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
</feed>
