<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/usb/cdns3/drd.c, branch linux-5.10.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.10.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.10.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2025-01-09T12:24:51Z</updated>
<entry>
<title>usb: cdns3: Add quirk flag to enable suspend residency</title>
<updated>2025-01-09T12:24:51Z</updated>
<author>
<name>Roger Quadros</name>
</author>
<published>2024-07-28T16:09:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ba1ee910938800f0599f714f1abdf06203cccc9'/>
<id>urn:sha1:4ba1ee910938800f0599f714f1abdf06203cccc9</id>
<content type='text'>
[ Upstream commit 0aca19e4037a4143273e90f1b44666b78b4dde9b ]

Some platforms (e.g. ti,j721e-usb, ti,am64-usb) require
this bit to be set to workaround a lockup issue with PHY
short suspend intervals [1]. Add a platform quirk flag
to indicate if Suspend Residency should be enabled.

[1] - https://www.ti.com/lit/er/sprz457h/sprz457h.pdf
i2409 - USB: USB2 PHY locks up due to short suspend

Signed-off-by: Roger Quadros &lt;rogerq@kernel.org&gt;
Signed-off-by: Ravi Gunasekaran &lt;r-gunasekaran@ti.com&gt;
Acked-by: Peter Chen &lt;peter.chen@kernel.org&gt;
Link: https://lore.kernel.org/r/20240516044537.16801-2-r-gunasekaran@ti.com
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: Add support for DRD CDNSP</title>
<updated>2022-12-02T16:40:03Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-12-07T10:32:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8382cdf0ab5df84cae9603de927145a7f140b937'/>
<id>urn:sha1:8382cdf0ab5df84cae9603de927145a7f140b937</id>
<content type='text'>
[ Upstream commit db8892bb1bb64b6e3d1381ac342a2ee31e1b76b6 ]

Patch adds support for Cadence DRD Super Speed Plus controller(CDNSP).
CDNSP DRD is a part of Cadence CDNSP controller.
The DRD CDNSP controller has a lot of difference on hardware level but on
software level is quite compatible with CDNS3 DRD. For this reason
CDNS3 DRD part of CDNS3 driver was reused for CDNSP driver.

Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Tested-by: Aswath Govindraju &lt;a-govindraju@ti.com&gt;
Signed-off-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Stable-dep-of: 9d5333c93134 ("usb: cdns3: host: fix endless superspeed hub port reset")
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: drd: call PHY .set_mode accordingly</title>
<updated>2020-10-02T06:57:40Z</updated>
<author>
<name>Peter Chen</name>
</author>
<published>2020-09-01T02:33:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9f650135945fb5dba6bd6340ce834570fe0686f2'/>
<id>urn:sha1:9f650135945fb5dba6bd6340ce834570fe0686f2</id>
<content type='text'>
Some PHYs may need to enter related mode, and do some settings.

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: drd: simplify *switch_gadet and *switch_host</title>
<updated>2020-07-24T13:45:13Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-07-13T10:05:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b2aeb6da3d6ee562e57ad3a7d73a7de0c36ce8eb'/>
<id>urn:sha1:b2aeb6da3d6ee562e57ad3a7d73a7de0c36ce8eb</id>
<content type='text'>
Patch split function cdns3_drd_switch_gadget and
cdns3_drd_switch_host into:
- cdns3_drd_host_on
- cdns3_drd_host_off
- cdns3_drd_gadget_on
- cdns3_drd_gadgett_off

These functions don't have any shared code so it's better to
have smaller, faster and easier functions.

Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Reviewed-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: Added CDNS3_ID_PERIPHERAL and CDNS3_ID_HOST</title>
<updated>2020-07-24T13:45:13Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-07-13T10:05:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=08c35dd3cc2184dcc952fc845329dcae1ee302d3'/>
<id>urn:sha1:08c35dd3cc2184dcc952fc845329dcae1ee302d3</id>
<content type='text'>
Patch adds 2 definitions that make it easier to understand the code.

Reviewed-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: drd: changed return type from int to bool</title>
<updated>2020-07-24T13:45:13Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-07-13T10:05:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=245258495a5157e4428bd944189e4062d852dcdd'/>
<id>urn:sha1:245258495a5157e4428bd944189e4062d852dcdd</id>
<content type='text'>
Patch changes return type from int to bool for
cdns3_is_host and cdns3_is_device functions.

Reviewed-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cdns3: drd: return IRQ_NONE explicitly.</title>
<updated>2020-07-24T13:45:12Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-07-13T10:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03cce68a828dba13b3715033e5133839820218c3'/>
<id>urn:sha1:03cce68a828dba13b3715033e5133839820218c3</id>
<content type='text'>
IRQ_NONE can be returned indirect.

Reviewed-by: Peter Chen &lt;peter.chen@nxp.com&gt;
Signed-off-by: Pawel Laszczak &lt;pawell@cadence.com&gt;
Signed-off-by: Felipe Balbi &lt;balbi@kernel.org&gt;
</content>
</entry>
<entry>
<title>usb: cnds3: drd: deleted !=</title>
<updated>2020-07-24T13:45:12Z</updated>
<author>
<name>Pawel Laszczak</name>
</author>
<published>2020-07-13T10:05:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ecf4f823fb7050e4f450bb56cd403cbb6d41ca7c'/>
<id>urn:sha1:ecf4f823fb7050e4f450bb56cd403cbb6d41ca7c</id>
<content type='text'>
Patch deletes unnecessary != from condition statement in cdns3_drd_init
function.

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