From: sashiko-bot@kernel.org
To: "Vinod Govindapillai" <vinod.govindapillai@intel.com>
Cc: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v6 2/7] drm/xe/pm: introduce PM PME support
Date: Mon, 14 Sep 2026 20:01:16 +0000 [thread overview]
Message-ID: <20260914200117.4A5631F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260914194737.272679-3-vinod.govindapillai@intel.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Failed runtime suspend leaves PCI PME wake enabled because the software flag is prematurely cleared before the hardware cleanup check.
--
commit 31cf117b704a2fc5858594d67a6c704b16fd2e7b
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>
drm/xe/pm: introduce PM PME support
This commit introduces PME support for capable devices to avoid relying on
HPD polling. It assesses PME capabilities during PCI probe and enables them
for specific contexts during the PM runtime suspend call.
> diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
> index 32e10e1a26eff..ef5fefdd09e4d 100644
> --- a/drivers/gpu/drm/xe/xe_pci.c
> +++ b/drivers/gpu/drm/xe/xe_pci.c
[ ... ]
> @@ -1380,8 +1386,14 @@ static int xe_pci_runtime_suspend(struct device *dev)
> xe_assert(xe, !pci_num_vf(pdev));
>
> err = xe_pm_runtime_suspend(xe);
> - if (err)
> + if (err) {
> + if (xe_pm_pme_enabled(xe)) {
[Severity: Medium]
Since xe_pm_runtime_suspend() already clears the software flag in its
failure path, will this check always evaluate to false?
If the flag is cleared early by the callee, it appears
pci_enable_wake(pdev, PCI_D3hot, false) is skipped. Could this leave the
PCI device with PME wake enabled while in D0 after a failed runtime suspend,
potentially causing spurious PME interrupts?
> + pci_enable_wake(pdev, PCI_D3hot, false);
> + xe_pm_update_pme_enabled(xe, false);
> + }
> +
> return err;
> + }
>
> pci_save_state(pdev);
[ ... ]
> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
> index a5289a9df8d25..6453adbc3410d 100644
> --- a/drivers/gpu/drm/xe/xe_pm.c
> +++ b/drivers/gpu/drm/xe/xe_pm.c
[ ... ]
> @@ -650,6 +663,7 @@ int xe_pm_runtime_suspend(struct xe_device *xe)
> return 0;
>
> out_resume:
> + xe_pm_update_pme_enabled(xe, false);
[Severity: Medium]
Does clearing the PME enabled flag here inadvertently defeat the hardware
cleanup logic in the xe_pci_runtime_suspend() caller?
> xe_display_pm_runtime_resume(xe);
> xe_pxp_pm_resume(xe->pxp);
> out:
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260914194737.272679-1-vinod.govindapillai@intel.com?part=2
next prev parent reply other threads:[~2026-09-14 20:01 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-14 19:47 [PATCH v6 0/7] pm_pme support on display hotplug Vinod Govindapillai
2026-09-14 19:47 ` [PATCH v6 1/7] drm/xe/pm: initialize the device's system wakeup capabilities Vinod Govindapillai
2026-09-14 20:00 ` sashiko-bot
2026-09-14 19:47 ` [PATCH v6 2/7] drm/xe/pm: introduce PM PME support Vinod Govindapillai
2026-09-14 20:01 ` sashiko-bot [this message]
2026-09-14 19:47 ` [PATCH v6 3/7] drm/xe/pm: avoid reclaim when arming PME wakeup Vinod Govindapillai
2026-09-14 19:47 ` [PATCH v6 4/7] drm/i915: add pme_enabled() to the parent interface Vinod Govindapillai
2026-09-14 19:47 ` [PATCH v6 5/7] drm/i915/xe: plug the pme_enabed implementation for xe Vinod Govindapillai
2026-09-14 19:47 ` [PATCH v6 6/7] drm/i915/irq: conditional HPD IRQ resets based on PME capability Vinod Govindapillai
2026-09-14 20:06 ` sashiko-bot
2026-09-14 19:47 ` [PATCH v6 7/7] drm/i915/hotplug: avoid HPD polling if the device is PME capable Vinod Govindapillai
2026-09-14 19:52 ` ✗ Fi.CI.BUILD: failure for pm_pme support on display hotplug (rev6) Patchwork
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=20260914200117.4A5631F000FF@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vinod.govindapillai@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox