Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Vinod Govindapillai" <vinod.govindapillai@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v5 10/10] drm/i915/hotplug: avoid HPD polling if the device is PME capable
Date: Fri, 11 Sep 2026 08:34:14 +0000	[thread overview]
Message-ID: <20260911083415.5A3BF1F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260911080448.778316-11-vinod.govindapillai@intel.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The patch fails to disable HPD polling for `xe` devices in D3cold because it relies on a stateful flag that is bypassed in the `xe` D3cold suspend path.
--

commit d64c6fbf549089ab8b3ecb3a04becd1d5a8da552
Author: Vinod Govindapillai <vinod.govindapillai@intel.com>

drm/i915/hotplug: avoid HPD polling if the device is PME capable

This commit attempts to optimize power usage by disabling HPD polling on
devices capable of generating PME wake events. It introduces a check in
intel_hpd_poll_enable() to skip polling if the device supports PME.

> diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
> index b24c9f360e241..8b7b9f47f049a 100644
> --- a/drivers/gpu/drm/i915/display/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
> @@ -877,6 +877,11 @@ void intel_hpd_poll_enable(struct intel_display *display)
>  	if (!HAS_DISPLAY(display) || !intel_display_device_enabled(display))
>  		return;
>  
> +	if (intel_hpd_can_generate_pme(display)) {
> +		drm_dbg_kms(display->drm, "PME wake capable device, skipping HPD polling.\n");
> +		return;
> +	}
> +

[Severity: Medium]
Will this check actually prevent HPD polling for xe devices entering D3cold?

When an xe device enters runtime suspend, xe_display_pm_runtime_suspend()
bypasses intel_display_driver_pm_runtime_suspend() if D3cold is allowed:

drivers/gpu/drm/xe/display/xe_display.c:xe_display_pm_runtime_suspend() {
	...
	if (xe->d3cold.allowed) {
		xe_display_enable_d3cold(xe);
		return;
	}

	intel_display_driver_pm_runtime_suspend(display);
	...
}

Because this bypasses intel_display_driver_pm_runtime_suspend(), the
display->hotplug.can_generate_pme flag is never populated for the D3cold path.

When xe_display_enable_d3cold() subsequently calls intel_hpd_poll_enable(),
intel_hpd_can_generate_pme() will return false, and HPD polling will remain
enabled, which appears to defeat the optimization this patch aims to achieve.

Does this flag need to be populated in the D3cold path as well?

>  	WRITE_ONCE(display->hotplug.poll_enabled, true);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260911080448.778316-1-vinod.govindapillai@intel.com?part=10

  reply	other threads:[~2026-09-11  8:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-11  8:04 [PATCH v5 00/10] pm_pme support on display hotplug Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 01/10] drm/xe/pm: initialize the device's system wakeup capabilities Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 02/10] drm/xe/pm: introduce PM PME support Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 03/10] drm/xe/pm: avoid reclaim when arming PME wakeup Vinod Govindapillai
2026-09-11  8:22   ` sashiko-bot
2026-09-11  8:04 ` [PATCH v5 04/10] drm/i915: add pme_enabled() to the parent interface Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 05/10] drm/i915/xe: plug the pme_enabed implementation for xe Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 06/10] drm/i915/hotplug: add helpers to track HPDs can generate PME Vinod Govindapillai
2026-09-11 13:00   ` Jani Nikula
2026-09-11 15:36     ` Govindapillai, Vinod
2026-09-11  8:04 ` [PATCH v5 07/10] drm/i915: plug the pm runtime handlers with PME HPD handling Vinod Govindapillai
2026-09-11  8:04 ` [PATCH v5 08/10] drm/xe/pm: clear PME HPD flag on runtime suspend error handler Vinod Govindapillai
2026-09-11  8:20   ` sashiko-bot
2026-09-11  8:04 ` [PATCH v5 09/10] drm/i915/irq: conditional HPD IRQ resets based on PME capability Vinod Govindapillai
2026-09-11  8:27   ` sashiko-bot
2026-09-11  8:04 ` [PATCH v5 10/10] drm/i915/hotplug: avoid HPD polling if the device is PME capable Vinod Govindapillai
2026-09-11  8:34   ` sashiko-bot [this message]
2026-09-11  9:19 ` ✓ i915.CI.BAT: success for pm_pme support on display hotplug (rev5) Patchwork
2026-09-12  5:04 ` ✗ i915.CI.Full: failure " 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=20260911083415.5A3BF1F000FF@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