Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3] drm/xe/display: Change HPD to polling on runtime suspend
@ 2024-08-12 10:32 Arun R Murthy
  2024-08-12 12:25 ` ✓ Fi.CI.BAT: success for drm/xe/display: Change HPD to polling on runtime suspend (rev3) Patchwork
  2024-08-12 23:35 ` ✓ Fi.CI.IGT: " Patchwork
  0 siblings, 2 replies; 4+ messages in thread
From: Arun R Murthy @ 2024-08-12 10:32 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Arun R Murthy

HPD is interrupt based and on runtime suspend change it to polling as
HPD is not a wakeup event. A worker thread is scheduled for doing this
polling and it keeps polling for HPD live status on an internval of 10s.
On runtime resume disable polling and fallback to interrupt mechanism.

v2: move poll_enable() to xe_display(Imre)
v3: removed un-wanted comments (Jani)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 0e4adde84cb2..4b8b28f96063 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -309,6 +309,9 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
 
 	intel_hpd_cancel_work(xe);
 
+	if (runtime)
+		intel_hpd_poll_enable(xe);
+
 	intel_encoder_suspend_all(&xe->display);
 
 	intel_opregion_suspend(display, s2idle ? PCI_D1 : PCI_D3cold);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCHv3] drm/xe/display: Change HPD to polling on runtime suspend
@ 2024-08-12  4:02 Arun R Murthy
  0 siblings, 0 replies; 4+ messages in thread
From: Arun R Murthy @ 2024-08-12  4:02 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Arun R Murthy

HPD is interrupt based and on runtime suspend change it to polling as
HPD is not a wakeup event. A worker thread is scheduled for doing this
polling and it keeps polling for HPD live status on an internval of 10s.
On runtime resume disable polling and fallback to interrupt mechanism.

v2: move poll_enable() to xe_display(Imre)
v3: removed un-wanted comments (Jani)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
---
 drivers/gpu/drm/xe/display/xe_display.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 78cccbe28947..426b3f73c104 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -315,6 +315,9 @@ void xe_display_pm_suspend(struct xe_device *xe, bool runtime)
 
 	intel_hpd_cancel_work(xe);
 
+	if (runtime)
+		intel_hpd_poll_enable(xe);
+
 	intel_suspend_encoders(xe);
 
 	intel_opregion_suspend(xe, s2idle ? PCI_D1 : PCI_D3cold);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-08-12 23:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-12 10:32 [PATCHv3] drm/xe/display: Change HPD to polling on runtime suspend Arun R Murthy
2024-08-12 12:25 ` ✓ Fi.CI.BAT: success for drm/xe/display: Change HPD to polling on runtime suspend (rev3) Patchwork
2024-08-12 23:35 ` ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2024-08-12  4:02 [PATCHv3] drm/xe/display: Change HPD to polling on runtime suspend Arun R Murthy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox