From: "Théo Lebrun" <theo.lebrun@bootlin.com> To: "Roger Quadros" <rogerq@kernel.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, "Conor Dooley" <conor+dt@kernel.org>, "Peter Chen" <peter.chen@kernel.org>, "Pawel Laszczak" <pawell@cadence.com>, "Nishanth Menon" <nm@ti.com>, "Vignesh Raghavendra" <vigneshr@ti.com>, "Tero Kristo" <kristo@kernel.org> Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Grégory Clement" <gregory.clement@bootlin.com> Subject: Re: [PATCH v2 6/7] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform Date: Tue, 21 Nov 2023 18:06:01 +0100 [thread overview] Message-ID: <CX4NJXCYMSJ1.AF8FQLHU77RU@tleb-bootlin-xps13-01> (raw) In-Reply-To: <d2bd89f1-a86b-4fe4-a7ad-20c7e8caf9b6@kernel.org> Hello, On Tue Nov 21, 2023 at 5:53 PM CET, Roger Quadros wrote: > On 20/11/2023 19:06, Théo Lebrun wrote: > > Pass CDNS3_RESET_ON_RESUME as platform data to cdns3 host role. It will > > in turn pass it down to xHCI platform data as XHCI_RESET_ON_RESUME. > > > > Avoid this warning on resume: > > > > [ 16.017462] xhci-hcd xhci-hcd.1.auto: xHC error in resume, USBSTS 0x401, Reinit > > > > When used, remote wakeup is not expected to work. > > > > Only focus J7200 as other SoC are untested. > > > > Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> > > --- > > drivers/usb/cdns3/cdns3-ti.c | 19 +++++++++++++++++-- > > 1 file changed, 17 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c > > index 84f93c2fcd5c..7d56a1acbc54 100644 > > --- a/drivers/usb/cdns3/cdns3-ti.c > > +++ b/drivers/usb/cdns3/cdns3-ti.c > > @@ -16,6 +16,7 @@ > > #include <linux/of_platform.h> > > #include <linux/pm_runtime.h> > > #include <linux/property.h> > > +#include "core.h" > > > > /* USB Wrapper register offsets */ > > #define USBSS_PID 0x0 > > @@ -128,6 +129,7 @@ static int cdns_ti_probe(struct platform_device *pdev) > > { > > struct device *dev = &pdev->dev; > > struct device_node *node = pdev->dev.of_node; > > + const struct of_dev_auxdata *auxdata; > > struct cdns_ti *data; > > unsigned long rate; > > int error, i; > > @@ -177,7 +179,8 @@ static int cdns_ti_probe(struct platform_device *pdev) > > > > cdns_ti_init_hw(data); > > > > - error = of_platform_populate(node, NULL, NULL, dev); > > + auxdata = of_device_get_match_data(dev); > > + error = of_platform_populate(node, NULL, auxdata, dev); > > if (error) { > > dev_err(dev, "failed to create children: %d\n", error); > > return error; > > @@ -222,8 +225,20 @@ static const struct dev_pm_ops cdns_ti_pm_ops = { > > > > #endif /* CONFIG_PM */ > > > > +static struct cdns3_platform_data cdns_ti_j7200_pdata = { > > + .quirks = CDNS3_RESET_ON_RESUME, > > +}; > > We will need to introduce a new data structure "struct cdns_ti_platform_data" > and add platform specific details like "reset_on_resume" to it. > This is to address what Krzysztof pointed to in patch 4. Yes I've got it locally following Krzysztof's review. Below my signature is a sneak peak as I'll wait a bit more before a V3. First we implement resume behavior in the wrapper driver using match data then we add auxdata passed to the subdevices. Regards, -- Théo Lebrun, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ------------------------------------------------------------------------ From 69a59e3408668dfa06d3790cb20948961708791d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lebrun?= <theo.lebrun@bootlin.com> Date: Mon, 20 Nov 2023 16:47:29 +0100 Subject: [PATCH 05/13] usb: cdns3-ti: add suspend/resume procedures for J7200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hardware initialisation is only done at probe. The J7200 USB controller is reset at resume because of power-domains toggling off & on. We therefore reconfigure the hardware at resume. Reuse the newly extracted cdns_ti_init_hw() function that contains the register write sequence. Only focus J7200 as other SoC are untested. If the controller does not reset we do not want to redo reg writes. Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> --- drivers/usb/cdns3/cdns3-ti.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c index d4232b440e4e..7530b6b5159d 100644 --- a/drivers/usb/cdns3/cdns3-ti.c +++ b/drivers/usb/cdns3/cdns3-ti.c @@ -58,6 +58,11 @@ struct cdns_ti { struct clk *usb2_refclk; struct clk *lpm_clk; int usb2_refclk_rate_code; + const struct cdns_ti_match_data *match_data; +}; + +struct cdns_ti_match_data { + bool reset_on_resume; }; static const int cdns_ti_rate_table[] = { /* in KHZ */ @@ -138,6 +143,7 @@ static int cdns_ti_probe(struct platform_device *pdev) platform_set_drvdata(pdev, data); data->dev = dev; + data->match_data = of_device_get_match_data(dev); data->usbss = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(data->usbss)) { @@ -202,7 +208,30 @@ static void cdns_ti_remove(struct platform_device *pdev) platform_set_drvdata(pdev, NULL); } +#ifdef CONFIG_PM + +static int cdns_ti_resume(struct device *dev) +{ + struct cdns_ti *data = dev_get_drvdata(dev); + + if (data->match_data && data->match_data->reset_on_resume) + cdns_ti_init_hw(data); + + return 0; +} + +static const struct dev_pm_ops cdns_ti_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(NULL, cdns_ti_resume) +}; + +#endif /* CONFIG_PM */ + +static const struct cdns_ti_match_data cdns_ti_j7200_match_data = { + .reset_on_resume = true, +}; + static const struct of_device_id cdns_ti_of_match[] = { + { .compatible = "ti,j7200-usb", .data = &cdns_ti_j7200_match_data, }, { .compatible = "ti,j721e-usb", }, { .compatible = "ti,am64-usb", }, {}, @@ -213,8 +242,9 @@ static struct platform_driver cdns_ti_driver = { .probe = cdns_ti_probe, .remove_new = cdns_ti_remove, .driver = { - .name = "cdns3-ti", + .name = "cdns3-ti", .of_match_table = cdns_ti_of_match, + .pm = pm_ptr(&cdns_ti_pm_ops), }, }; -- 2.42.0 ------------------------------------------------------------------------ From 4ff91a036da297e9e8585980c6133bee9c45d9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lebrun?= <theo.lebrun@bootlin.com> Date: Mon, 20 Nov 2023 17:02:44 +0100 Subject: [PATCH 07/13] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass CDNS3_RESET_ON_RESUME as platform data to cdns3 host role. It will in turn pass it down to xHCI platform data as XHCI_RESET_ON_RESUME. Avoid this warning on resume: [ 16.017462] xhci-hcd xhci-hcd.1.auto: xHC error in resume, USBSTS 0x401, Reinit When used, remote wakeup is not expected to work. Only focus J7200 as other SoC are untested. Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> --- drivers/usb/cdns3/cdns3-ti.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c index 7530b6b5159d..da2648ebc179 100644 --- a/drivers/usb/cdns3/cdns3-ti.c +++ b/drivers/usb/cdns3/cdns3-ti.c @@ -16,6 +16,7 @@ #include <linux/of_platform.h> #include <linux/pm_runtime.h> #include <linux/property.h> +#include "core.h" /* USB Wrapper register offsets */ #define USBSS_PID 0x0 @@ -62,7 +63,8 @@ struct cdns_ti { }; struct cdns_ti_match_data { - bool reset_on_resume; + bool reset_on_resume; + const struct of_dev_auxdata *auxdata; }; static const int cdns_ti_rate_table[] = { /* in KHZ */ @@ -132,6 +134,7 @@ static int cdns_ti_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct device_node *node = pdev->dev.of_node; + const struct of_dev_auxdata *auxdata = NULL; struct cdns_ti *data; unsigned long rate; int error, i; @@ -181,7 +184,9 @@ static int cdns_ti_probe(struct platform_device *pdev) cdns_ti_init_hw(data); - error = of_platform_populate(node, NULL, NULL, dev); + if (data->match_data) + auxdata = data->match_data->auxdata; + error = of_platform_populate(node, NULL, auxdata, dev); if (error) { dev_err(dev, "failed to create children: %d\n", error); return error; @@ -226,8 +231,21 @@ static const struct dev_pm_ops cdns_ti_pm_ops = { #endif /* CONFIG_PM */ +static struct cdns3_platform_data cdns_ti_j7200_pdata = { + .quirks = CDNS3_RESET_ON_RESUME, +}; + +static const struct of_dev_auxdata cdns_ti_j7200_auxdata[] = { + { + .compatible = "cdns,usb3", + .platform_data = &cdns_ti_j7200_pdata, + }, + {}, +}; + static const struct cdns_ti_match_data cdns_ti_j7200_match_data = { .reset_on_resume = true, + .auxdata = cdns_ti_j7200_auxdata, }; static const struct of_device_id cdns_ti_of_match[] = { -- 2.42.0
WARNING: multiple messages have this Message-ID (diff)
From: "Théo Lebrun" <theo.lebrun@bootlin.com> To: "Roger Quadros" <rogerq@kernel.org>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Rob Herring" <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, "Conor Dooley" <conor+dt@kernel.org>, "Peter Chen" <peter.chen@kernel.org>, "Pawel Laszczak" <pawell@cadence.com>, "Nishanth Menon" <nm@ti.com>, "Vignesh Raghavendra" <vigneshr@ti.com>, "Tero Kristo" <kristo@kernel.org> Cc: linux-usb@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, "Grégory Clement" <gregory.clement@bootlin.com> Subject: Re: [PATCH v2 6/7] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform Date: Tue, 21 Nov 2023 18:06:01 +0100 [thread overview] Message-ID: <CX4NJXCYMSJ1.AF8FQLHU77RU@tleb-bootlin-xps13-01> (raw) In-Reply-To: <d2bd89f1-a86b-4fe4-a7ad-20c7e8caf9b6@kernel.org> Hello, On Tue Nov 21, 2023 at 5:53 PM CET, Roger Quadros wrote: > On 20/11/2023 19:06, Théo Lebrun wrote: > > Pass CDNS3_RESET_ON_RESUME as platform data to cdns3 host role. It will > > in turn pass it down to xHCI platform data as XHCI_RESET_ON_RESUME. > > > > Avoid this warning on resume: > > > > [ 16.017462] xhci-hcd xhci-hcd.1.auto: xHC error in resume, USBSTS 0x401, Reinit > > > > When used, remote wakeup is not expected to work. > > > > Only focus J7200 as other SoC are untested. > > > > Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> > > --- > > drivers/usb/cdns3/cdns3-ti.c | 19 +++++++++++++++++-- > > 1 file changed, 17 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c > > index 84f93c2fcd5c..7d56a1acbc54 100644 > > --- a/drivers/usb/cdns3/cdns3-ti.c > > +++ b/drivers/usb/cdns3/cdns3-ti.c > > @@ -16,6 +16,7 @@ > > #include <linux/of_platform.h> > > #include <linux/pm_runtime.h> > > #include <linux/property.h> > > +#include "core.h" > > > > /* USB Wrapper register offsets */ > > #define USBSS_PID 0x0 > > @@ -128,6 +129,7 @@ static int cdns_ti_probe(struct platform_device *pdev) > > { > > struct device *dev = &pdev->dev; > > struct device_node *node = pdev->dev.of_node; > > + const struct of_dev_auxdata *auxdata; > > struct cdns_ti *data; > > unsigned long rate; > > int error, i; > > @@ -177,7 +179,8 @@ static int cdns_ti_probe(struct platform_device *pdev) > > > > cdns_ti_init_hw(data); > > > > - error = of_platform_populate(node, NULL, NULL, dev); > > + auxdata = of_device_get_match_data(dev); > > + error = of_platform_populate(node, NULL, auxdata, dev); > > if (error) { > > dev_err(dev, "failed to create children: %d\n", error); > > return error; > > @@ -222,8 +225,20 @@ static const struct dev_pm_ops cdns_ti_pm_ops = { > > > > #endif /* CONFIG_PM */ > > > > +static struct cdns3_platform_data cdns_ti_j7200_pdata = { > > + .quirks = CDNS3_RESET_ON_RESUME, > > +}; > > We will need to introduce a new data structure "struct cdns_ti_platform_data" > and add platform specific details like "reset_on_resume" to it. > This is to address what Krzysztof pointed to in patch 4. Yes I've got it locally following Krzysztof's review. Below my signature is a sneak peak as I'll wait a bit more before a V3. First we implement resume behavior in the wrapper driver using match data then we add auxdata passed to the subdevices. Regards, -- Théo Lebrun, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ------------------------------------------------------------------------ From 69a59e3408668dfa06d3790cb20948961708791d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lebrun?= <theo.lebrun@bootlin.com> Date: Mon, 20 Nov 2023 16:47:29 +0100 Subject: [PATCH 05/13] usb: cdns3-ti: add suspend/resume procedures for J7200 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hardware initialisation is only done at probe. The J7200 USB controller is reset at resume because of power-domains toggling off & on. We therefore reconfigure the hardware at resume. Reuse the newly extracted cdns_ti_init_hw() function that contains the register write sequence. Only focus J7200 as other SoC are untested. If the controller does not reset we do not want to redo reg writes. Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> --- drivers/usb/cdns3/cdns3-ti.c | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c index d4232b440e4e..7530b6b5159d 100644 --- a/drivers/usb/cdns3/cdns3-ti.c +++ b/drivers/usb/cdns3/cdns3-ti.c @@ -58,6 +58,11 @@ struct cdns_ti { struct clk *usb2_refclk; struct clk *lpm_clk; int usb2_refclk_rate_code; + const struct cdns_ti_match_data *match_data; +}; + +struct cdns_ti_match_data { + bool reset_on_resume; }; static const int cdns_ti_rate_table[] = { /* in KHZ */ @@ -138,6 +143,7 @@ static int cdns_ti_probe(struct platform_device *pdev) platform_set_drvdata(pdev, data); data->dev = dev; + data->match_data = of_device_get_match_data(dev); data->usbss = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(data->usbss)) { @@ -202,7 +208,30 @@ static void cdns_ti_remove(struct platform_device *pdev) platform_set_drvdata(pdev, NULL); } +#ifdef CONFIG_PM + +static int cdns_ti_resume(struct device *dev) +{ + struct cdns_ti *data = dev_get_drvdata(dev); + + if (data->match_data && data->match_data->reset_on_resume) + cdns_ti_init_hw(data); + + return 0; +} + +static const struct dev_pm_ops cdns_ti_pm_ops = { + SET_SYSTEM_SLEEP_PM_OPS(NULL, cdns_ti_resume) +}; + +#endif /* CONFIG_PM */ + +static const struct cdns_ti_match_data cdns_ti_j7200_match_data = { + .reset_on_resume = true, +}; + static const struct of_device_id cdns_ti_of_match[] = { + { .compatible = "ti,j7200-usb", .data = &cdns_ti_j7200_match_data, }, { .compatible = "ti,j721e-usb", }, { .compatible = "ti,am64-usb", }, {}, @@ -213,8 +242,9 @@ static struct platform_driver cdns_ti_driver = { .probe = cdns_ti_probe, .remove_new = cdns_ti_remove, .driver = { - .name = "cdns3-ti", + .name = "cdns3-ti", .of_match_table = cdns_ti_of_match, + .pm = pm_ptr(&cdns_ti_pm_ops), }, }; -- 2.42.0 ------------------------------------------------------------------------ From 4ff91a036da297e9e8585980c6133bee9c45d9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Lebrun?= <theo.lebrun@bootlin.com> Date: Mon, 20 Nov 2023 17:02:44 +0100 Subject: [PATCH 07/13] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass CDNS3_RESET_ON_RESUME as platform data to cdns3 host role. It will in turn pass it down to xHCI platform data as XHCI_RESET_ON_RESUME. Avoid this warning on resume: [ 16.017462] xhci-hcd xhci-hcd.1.auto: xHC error in resume, USBSTS 0x401, Reinit When used, remote wakeup is not expected to work. Only focus J7200 as other SoC are untested. Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com> --- drivers/usb/cdns3/cdns3-ti.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/drivers/usb/cdns3/cdns3-ti.c b/drivers/usb/cdns3/cdns3-ti.c index 7530b6b5159d..da2648ebc179 100644 --- a/drivers/usb/cdns3/cdns3-ti.c +++ b/drivers/usb/cdns3/cdns3-ti.c @@ -16,6 +16,7 @@ #include <linux/of_platform.h> #include <linux/pm_runtime.h> #include <linux/property.h> +#include "core.h" /* USB Wrapper register offsets */ #define USBSS_PID 0x0 @@ -62,7 +63,8 @@ struct cdns_ti { }; struct cdns_ti_match_data { - bool reset_on_resume; + bool reset_on_resume; + const struct of_dev_auxdata *auxdata; }; static const int cdns_ti_rate_table[] = { /* in KHZ */ @@ -132,6 +134,7 @@ static int cdns_ti_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct device_node *node = pdev->dev.of_node; + const struct of_dev_auxdata *auxdata = NULL; struct cdns_ti *data; unsigned long rate; int error, i; @@ -181,7 +184,9 @@ static int cdns_ti_probe(struct platform_device *pdev) cdns_ti_init_hw(data); - error = of_platform_populate(node, NULL, NULL, dev); + if (data->match_data) + auxdata = data->match_data->auxdata; + error = of_platform_populate(node, NULL, auxdata, dev); if (error) { dev_err(dev, "failed to create children: %d\n", error); return error; @@ -226,8 +231,21 @@ static const struct dev_pm_ops cdns_ti_pm_ops = { #endif /* CONFIG_PM */ +static struct cdns3_platform_data cdns_ti_j7200_pdata = { + .quirks = CDNS3_RESET_ON_RESUME, +}; + +static const struct of_dev_auxdata cdns_ti_j7200_auxdata[] = { + { + .compatible = "cdns,usb3", + .platform_data = &cdns_ti_j7200_pdata, + }, + {}, +}; + static const struct cdns_ti_match_data cdns_ti_j7200_match_data = { .reset_on_resume = true, + .auxdata = cdns_ti_j7200_auxdata, }; static const struct of_device_id cdns_ti_of_match[] = { -- 2.42.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-11-21 17:06 UTC|newest] Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-20 17:06 [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-20 17:06 ` [PATCH v2 1/7] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-21 16:53 ` Théo Lebrun 2023-11-21 16:53 ` Théo Lebrun 2023-11-21 17:11 ` Krzysztof Kozlowski 2023-11-21 17:11 ` Krzysztof Kozlowski 2023-11-22 10:46 ` Théo Lebrun 2023-11-22 10:46 ` Théo Lebrun 2023-11-22 12:00 ` Krzysztof Kozlowski 2023-11-22 12:00 ` Krzysztof Kozlowski 2023-11-22 17:14 ` Théo Lebrun 2023-11-22 17:14 ` Théo Lebrun 2023-11-20 17:06 ` [PATCH v2 2/7] usb: cdns3-ti: remove runtime PM Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-22 23:42 ` Kevin Hilman 2023-11-22 23:42 ` Kevin Hilman 2023-11-20 17:06 ` [PATCH v2 3/7] usb: cdns3-ti: move reg writes from probe into an init_hw helper Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-20 17:06 ` [PATCH v2 4/7] usb: cdns3-ti: add suspend/resume procedures for J7200 Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-20 17:31 ` Krzysztof Kozlowski 2023-11-20 17:31 ` Krzysztof Kozlowski 2023-11-21 16:48 ` Théo Lebrun 2023-11-21 16:48 ` Théo Lebrun 2023-11-20 17:06 ` [PATCH v2 5/7] usb: cdns3: add quirk to platform data for reset-on-resume Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-21 10:40 ` Peter Chen 2023-11-21 10:40 ` Peter Chen 2023-11-20 17:06 ` [PATCH v2 6/7] usb: cdns3-ti: signal reset-on-resume to xHCI for J7200 platform Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-21 16:53 ` Roger Quadros 2023-11-21 16:53 ` Roger Quadros 2023-11-21 17:06 ` Théo Lebrun [this message] 2023-11-21 17:06 ` Théo Lebrun 2023-11-20 17:06 ` [PATCH v2 7/7] arm64: dts: ti: k3-j7200: use J7200-specific USB compatible Théo Lebrun 2023-11-20 17:06 ` Théo Lebrun 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-20 17:32 ` Krzysztof Kozlowski 2023-11-20 17:33 ` [PATCH v2 0/7] usb: cdns: fix suspend on J7200 by assuming reset-on-resume Krzysztof Kozlowski 2023-11-20 17:33 ` Krzysztof Kozlowski 2023-11-22 23:44 ` Kevin Hilman 2023-11-22 23:44 ` Kevin Hilman
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CX4NJXCYMSJ1.AF8FQLHU77RU@tleb-bootlin-xps13-01 \ --to=theo.lebrun@bootlin.com \ --cc=conor+dt@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=gregory.clement@bootlin.com \ --cc=kristo@kernel.org \ --cc=krzysztof.kozlowski+dt@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-usb@vger.kernel.org \ --cc=nm@ti.com \ --cc=pawell@cadence.com \ --cc=peter.chen@kernel.org \ --cc=robh+dt@kernel.org \ --cc=rogerq@kernel.org \ --cc=vigneshr@ti.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.