All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: "Peter Chen" <peter.chen@kernel.org>
Cc: "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>,
	"Roger Quadros" <rogerq@kernel.org>,
	"Pawel Laszczak" <pawell@cadence.com>,
	"Nishanth Menon" <nm@ti.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Tero Kristo" <kristo@kernel.org>, <linux-usb@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 4/6] usb: cdns3: support power-off of controller when in host role
Date: Tue, 14 Nov 2023 12:10:18 +0100	[thread overview]
Message-ID: <CWYHLRBFE1X1.15330WETL2R7U@tleb-bootlin-xps13-01> (raw)
In-Reply-To: <20231114083838.GC64573@nchen-desktop>

Hello,

On Tue Nov 14, 2023 at 9:38 AM CET, Peter Chen wrote:
> On 23-11-13 15:26:59, Théo Lebrun wrote:
> > The controller is not being reconfigured at resume. Change resume to
> > redo hardware config if quirk CDNS3_RESET_ON_RESUME is active.
>
> Current logic has power off judgement, see cdns3_controller_resume for
> detail.

Indeed! Thanks for the pointer. I had not noticed that, those patches
come from an older kernel which didn't have it. That'll make for less
changes; patches 4 & 5 can go away.

> > +	if (cdns->pdata && cdns->pdata->quirks & CDNS3_RESET_ON_RESUME)
> > +		cdns->xhci_plat_data->quirks |= XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS;
> > +
>
> If you set this flag, how could you support the USB remote wakeup
> request? In that case, the USB bus does not expect re-enumeration.

We didn't support remote USB wakeup. Only S2R mattered in our case and
USB remote wakeup wasn't a possibility.

> > +static int cdns_host_resume(struct cdns *cdns, bool hibernated)
> > +{
> > +	return cdns_drd_host_on(cdns);
>
> This one will redo if controller's power is off, please consider both
> on and power situation.

Clearly. Can see that at runtime.

Thanks for the review!

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

WARNING: multiple messages have this Message-ID (diff)
From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: "Peter Chen" <peter.chen@kernel.org>
Cc: "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>,
	"Roger Quadros" <rogerq@kernel.org>,
	"Pawel Laszczak" <pawell@cadence.com>,
	"Nishanth Menon" <nm@ti.com>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"Tero Kristo" <kristo@kernel.org>, <linux-usb@vger.kernel.org>,
	<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 4/6] usb: cdns3: support power-off of controller when in host role
Date: Tue, 14 Nov 2023 12:10:18 +0100	[thread overview]
Message-ID: <CWYHLRBFE1X1.15330WETL2R7U@tleb-bootlin-xps13-01> (raw)
In-Reply-To: <20231114083838.GC64573@nchen-desktop>

Hello,

On Tue Nov 14, 2023 at 9:38 AM CET, Peter Chen wrote:
> On 23-11-13 15:26:59, Théo Lebrun wrote:
> > The controller is not being reconfigured at resume. Change resume to
> > redo hardware config if quirk CDNS3_RESET_ON_RESUME is active.
>
> Current logic has power off judgement, see cdns3_controller_resume for
> detail.

Indeed! Thanks for the pointer. I had not noticed that, those patches
come from an older kernel which didn't have it. That'll make for less
changes; patches 4 & 5 can go away.

> > +	if (cdns->pdata && cdns->pdata->quirks & CDNS3_RESET_ON_RESUME)
> > +		cdns->xhci_plat_data->quirks |= XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS;
> > +
>
> If you set this flag, how could you support the USB remote wakeup
> request? In that case, the USB bus does not expect re-enumeration.

We didn't support remote USB wakeup. Only S2R mattered in our case and
USB remote wakeup wasn't a possibility.

> > +static int cdns_host_resume(struct cdns *cdns, bool hibernated)
> > +{
> > +	return cdns_drd_host_on(cdns);
>
> This one will redo if controller's power is off, please consider both
> on and power situation.

Clearly. Can see that at runtime.

Thanks for the review!

--
Théo Lebrun, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-11-14 11:10 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-13 14:26 [PATCH 0/6] usb: cdns: fix suspend on J7200 by assuming reset on resume Théo Lebrun
2023-11-13 14:26 ` Théo Lebrun
2023-11-13 14:26 ` [PATCH 1/6] dt-bindings: usb: ti,j721e-usb: add ti,j7200-usb compatible Théo Lebrun
2023-11-13 14:26   ` Théo Lebrun
2023-11-13 19:58   ` Conor Dooley
2023-11-13 19:58     ` Conor Dooley
2023-11-13 14:26 ` [PATCH 2/6] usb: cdns3-ti: move reg writes from probe into an init_hw helper Théo Lebrun
2023-11-13 14:26   ` Théo Lebrun
2023-11-15 11:33   ` Roger Quadros
2023-11-15 11:33     ` Roger Quadros
2023-11-15 14:23     ` Théo Lebrun
2023-11-15 14:23       ` Théo Lebrun
2023-11-16 12:00       ` Roger Quadros
2023-11-16 12:00         ` Roger Quadros
2023-11-13 14:26 ` [PATCH 3/6] usb: cdns3-ti: add suspend/resume procedures for J7200 Théo Lebrun
2023-11-13 14:26   ` Théo Lebrun
2023-11-13 15:39   ` Gregory CLEMENT
2023-11-13 15:39     ` Gregory CLEMENT
2023-11-14 11:13     ` Théo Lebrun
2023-11-14 11:13       ` Théo Lebrun
2023-11-15 11:37   ` Roger Quadros
2023-11-15 11:37     ` Roger Quadros
2023-11-15 15:02     ` Théo Lebrun
2023-11-15 15:02       ` Théo Lebrun
2023-11-16 12:40       ` Roger Quadros
2023-11-16 12:40         ` Roger Quadros
2023-11-16 18:56         ` Théo Lebrun
2023-11-16 18:56           ` Théo Lebrun
2023-11-16 21:44           ` Roger Quadros
2023-11-16 21:44             ` Roger Quadros
2023-11-17 10:17             ` Théo Lebrun
2023-11-17 10:17               ` Théo Lebrun
2023-11-17 11:51               ` Roger Quadros
2023-11-17 11:51                 ` Roger Quadros
2023-11-17 14:20                 ` Théo Lebrun
2023-11-17 14:20                   ` Théo Lebrun
2023-11-18 10:41                   ` Roger Quadros
2023-11-18 10:41                     ` Roger Quadros
2023-11-22 22:23                   ` Kevin Hilman
2023-11-22 22:23                     ` Kevin Hilman
2023-11-23  9:51                     ` Théo Lebrun
2023-11-23  9:51                       ` Théo Lebrun
2023-11-26 22:36                       ` Kevin Hilman
2023-11-26 22:36                         ` Kevin Hilman
2023-11-27 13:25                         ` Théo Lebrun
2023-11-27 13:25                           ` Théo Lebrun
2023-12-12 18:26                           ` Kevin Hilman
2023-12-12 18:26                             ` Kevin Hilman
2023-12-12 19:31                             ` Alan Stern
2023-12-12 19:31                               ` Alan Stern
2023-11-13 14:26 ` [PATCH 4/6] usb: cdns3: support power-off of controller when in host role Théo Lebrun
2023-11-13 14:26   ` Théo Lebrun
2023-11-14  8:38   ` Peter Chen
2023-11-14  8:38     ` Peter Chen
2023-11-14 11:10     ` Théo Lebrun [this message]
2023-11-14 11:10       ` Théo Lebrun
2023-11-17  3:38       ` Peter Chen
2023-11-17  3:38         ` Peter Chen
2023-11-17  9:58         ` Théo Lebrun
2023-11-17  9:58           ` Théo Lebrun
2023-11-20  5:44           ` Peter Chen
2023-11-20  5:44             ` Peter Chen
2023-11-13 14:27 ` [PATCH 5/6] usb: cdns3-ti: notify cdns core that hardware resets across suspend on J7200 Théo Lebrun
2023-11-13 14:27   ` Théo Lebrun
2023-11-13 14:27 ` [PATCH 6/6] arm64: dts: ti: k3-j7200: use J7200-specific USB compatible Théo Lebrun
2023-11-13 14:27   ` Théo Lebrun
2023-11-14 10:01   ` Gregory CLEMENT
2023-11-14 10:01     ` Gregory CLEMENT
2023-11-14 11:14     ` Théo Lebrun
2023-11-14 11:14       ` Théo Lebrun

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=CWYHLRBFE1X1.15330WETL2R7U@tleb-bootlin-xps13-01 \
    --to=theo.lebrun@bootlin.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --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: link
Be 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.