From: Lovekesh Solanki <lovekeshsolanki00@gmail.com>
To: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
Michal Pecio <michal.pecio@gmail.com>,
Mathieu Fluhr <mathieu.fluhr@gmail.com>,
Mario Limonciello <mario.limonciello@amd.com>,
Thorsten Leemhuis <regressions@leemhuis.info>,
regressions@lists.linux.dev, stable@vger.kernel.org
Subject: Re: [PATCH 2/2] xhci: drop 120ms U3 LFPS wake retry wait from runtime resume
Date: Sat, 19 Sep 2026 23:41:38 +0530 [thread overview]
Message-ID: <aq5QXMlNQcBNsMfA@eggarch> (raw)
In-Reply-To: <b80ab121-2409-4ea3-9649-3aea4d1e7507@linux.intel.com>
On Thu, Sep 17, 2026 at 11:16:03AM +0300, Mathias Nyman wrote:
> I don't think there is a need for a new PCI bus specific implementation.
> pm core then probably handles this already in a generic way.
>
> PCI core probably calls pm core on a PME, which then starts the wakeup,
> pm core very likely keeps track of which device triggered the wakeup
>
> The wakeup_source structure under power in the device structure (dev->power.wakeup)
> looks promising.
> Maybe we can find what we need from there. Hope its fields aren't cleared at the
> time xhci resume is called.
I looked into that wakeup_source struct and its path, unfortunately it
does not seem to carry this information.
There's no fields that record the cause of the wakeup event. and all PCI
wake paths fold into pci_wakeup_event(), the active flag in
wakeup_source only gets set for 100ms of pm_wakeup_event(&dev->dev, 100) in
pci_wakeup_event(). then pm_request_resume() runs but its async so it
may run after active field is cleared.
So even though PCI core does call PM core, PM core is not tracking the
cause.
I suppose my above proposal could be changed to a pm core flag that
may be a better option? Something like a dev->power.wake_resume,
bus could set it in pci_wakeup_event(), then we add a new resume callback
something like pm_runtime_resumed_by_wakeup() and PM core could clear it
at the end of runtime PM transition.
But either way only the bus is able to detect PME.
Regards,
Lovekesh
next prev parent reply other threads:[~2026-09-19 18:11 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-31 19:03 [PATCH 1/2] usb: hub: use shorter 120ms post resume hold for SS root hubs Lovekesh Solanki
2026-08-31 19:03 ` [PATCH 2/2] xhci: drop 120ms U3 LFPS wake retry wait from runtime resume Lovekesh Solanki
2026-09-01 12:53 ` Mathias Nyman
2026-09-01 15:50 ` Lovekesh Solanki
2026-09-02 12:10 ` Mathias Nyman
2026-09-02 18:21 ` Lovekesh Solanki
2026-09-03 7:42 ` Mathias Nyman
2026-09-04 13:13 ` Lovekesh Solanki
2026-09-16 17:47 ` Lovekesh Solanki
2026-09-17 8:16 ` Mathias Nyman
2026-09-19 18:11 ` Lovekesh Solanki [this message]
2026-09-02 13:29 ` [PATCH 1/2] usb: hub: use shorter 120ms post resume hold for SS root hubs Mathias Nyman
2026-09-02 18:43 ` Lovekesh Solanki
2026-09-03 7:50 ` Mathias Nyman
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=aq5QXMlNQcBNsMfA@eggarch \
--to=lovekeshsolanki00@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=mathias.nyman@linux.intel.com \
--cc=mathieu.fluhr@gmail.com \
--cc=michal.pecio@gmail.com \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®