From: Vinod Govindapillai <vinod.govindapillai@intel.com>
To: intel-xe@lists.freedesktop.org, intel-gfx@lists.freedesktop.org
Cc: vinod.govindapillai@intel.com, imre.deak@intel.com,
jouni.hogander@intel.com
Subject: [PATCH v5 06/10] drm/i915/hotplug: add helpers to track HPDs can generate PME
Date: Fri, 11 Sep 2026 11:04:44 +0300 [thread overview]
Message-ID: <20260911080448.778316-7-vinod.govindapillai@intel.com> (raw)
In-Reply-To: <20260911080448.778316-1-vinod.govindapillai@intel.com>
As NVL+ devices can generate PME from HPDs, introduce a flag to
keep track of such a capability and helper functions to access
this flag. The plan is, this flag will be set to true from pm runtime
suspend if PME is enabled and this flag will cleared on early runtime
resume unconditionally. This is a place holder for the flag and later
on this flag will be used for conditional IRQ resets and to decide
whether to do HPD polling.
Bspec: 52979, 52980, 68857, 68867, 68970
Assisted-by: GitHub_Copilot:claude-opus-5
Signed-off-by: Vinod Govindapillai <vinod.govindapillai@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_core.h | 2 ++
drivers/gpu/drm/i915/display/intel_hotplug.c | 10 ++++++++++
drivers/gpu/drm/i915/display/intel_hotplug.h | 3 +++
3 files changed, 15 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index c80b4a2f74f9..b3a396800798 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -220,6 +220,8 @@ struct intel_hotplug {
* cue to ignore the long HPDs and can be set / unset using debugfs.
*/
bool ignore_long_hpd;
+
+ bool can_generate_pme;
};
struct intel_vbt_data {
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.c b/drivers/gpu/drm/i915/display/intel_hotplug.c
index 970aa95ee344..b24c9f360e24 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
@@ -846,6 +846,16 @@ static void i915_hpd_poll_init_work(struct work_struct *work)
}
}
+void intel_hpd_set_pme_capable(struct intel_display *display, bool can_generate_pme)
+{
+ display->hotplug.can_generate_pme = can_generate_pme;
+}
+
+bool intel_hpd_can_generate_pme(struct intel_display *display)
+{
+ return display->hotplug.can_generate_pme;
+}
+
/**
* intel_hpd_poll_enable - enable polling for connectors with hpd
* @display: display device instance
diff --git a/drivers/gpu/drm/i915/display/intel_hotplug.h b/drivers/gpu/drm/i915/display/intel_hotplug.h
index edc41c9d3d65..c57e30f8366b 100644
--- a/drivers/gpu/drm/i915/display/intel_hotplug.h
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.h
@@ -35,4 +35,7 @@ void intel_hpd_enable_detection_work(struct intel_display *display);
void intel_hpd_disable_detection_work(struct intel_display *display);
bool intel_hpd_schedule_detection(struct intel_display *display);
+void intel_hpd_set_pme_capable(struct intel_display *display, bool can_generate_pme);
+bool intel_hpd_can_generate_pme(struct intel_display *display);
+
#endif /* __INTEL_HOTPLUG_H__ */
--
2.43.0
next prev parent reply other threads:[~2026-09-11 8:05 UTC|newest]
Thread overview: 20+ 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 ` Vinod Govindapillai [this message]
2026-09-11 13:00 ` [PATCH v5 06/10] drm/i915/hotplug: add helpers to track HPDs can generate PME 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
2026-09-11 8:17 ` ✓ CI.KUnit: success for pm_pme support on display hotplug (rev5) Patchwork
2026-09-11 9:06 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-11 15:39 ` ✓ Xe.CI.FULL: " 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=20260911080448.778316-7-vinod.govindapillai@intel.com \
--to=vinod.govindapillai@intel.com \
--cc=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jouni.hogander@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