Skip to content

Commit 867aef3

Browse files
committed
drm/i915: Fix HPD polling, reenabling the output poll work as needed
jira LE-2183 Rebuild_History Non-Buildable kernel-4.18.0-553.33.1.el8_10 commit-author Imre Deak <[email protected]> commit 50452f2 Empty-Commit: Cherry-Pick Conflicts during history rebuild. Will be included in final tarball splat. Ref for failed cherry-pick at: ciq/ciq_backports/kernel-4.18.0-553.33.1.el8_10/50452f2f.failed After the commit in the Fixes: line below, HPD polling stopped working on i915, since after that change calling drm_kms_helper_poll_enable() doesn't restart drm_mode_config::output_poll_work if the work was stopped (no connectors needing polling) and enabling polling for a connector (during runtime suspend or detecting an HPD IRQ storm). After the above change calling drm_kms_helper_poll_enable() is a nop after it's been called already and polling for some connectors was disabled/re-enabled. Fix this by calling drm_kms_helper_poll_reschedule() added in the previous patch instead, which reschedules the work whenever expected. Fixes: d33a54e ("drm/probe_helper: sort out poll_running vs poll_enabled") CC: [email protected] # 6.4+ Cc: Dmitry Baryshkov <[email protected]> Cc: [email protected] Reviewed-by: Jouni Högander <[email protected]> Signed-off-by: Imre Deak <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 50452f2) Signed-off-by: Jonathan Maple <[email protected]> # Conflicts: # drivers/gpu/drm/i915/display/intel_hotplug.c
1 parent 9b7f7e3 commit 867aef3

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
drm/i915: Fix HPD polling, reenabling the output poll work as needed
2+
3+
jira LE-2183
4+
Rebuild_History Non-Buildable kernel-4.18.0-553.33.1.el8_10
5+
commit-author Imre Deak <[email protected]>
6+
commit 50452f2f76852322620b63e62922b85e955abe94
7+
Empty-Commit: Cherry-Pick Conflicts during history rebuild.
8+
Will be included in final tarball splat. Ref for failed cherry-pick at:
9+
ciq/ciq_backports/kernel-4.18.0-553.33.1.el8_10/50452f2f.failed
10+
11+
After the commit in the Fixes: line below, HPD polling stopped working
12+
on i915, since after that change calling drm_kms_helper_poll_enable()
13+
doesn't restart drm_mode_config::output_poll_work if the work was
14+
stopped (no connectors needing polling) and enabling polling for a
15+
connector (during runtime suspend or detecting an HPD IRQ storm).
16+
17+
After the above change calling drm_kms_helper_poll_enable() is a nop
18+
after it's been called already and polling for some connectors was
19+
disabled/re-enabled.
20+
21+
Fix this by calling drm_kms_helper_poll_reschedule() added in the
22+
previous patch instead, which reschedules the work whenever expected.
23+
24+
Fixes: d33a54e3991d ("drm/probe_helper: sort out poll_running vs poll_enabled")
25+
26+
Cc: Dmitry Baryshkov <[email protected]>
27+
28+
Reviewed-by: Jouni Högander <[email protected]>
29+
Signed-off-by: Imre Deak <[email protected]>
30+
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
31+
(cherry picked from commit 50452f2f76852322620b63e62922b85e955abe94)
32+
Signed-off-by: Jonathan Maple <[email protected]>
33+
34+
# Conflicts:
35+
# drivers/gpu/drm/i915/display/intel_hotplug.c
36+
diff --cc drivers/gpu/drm/i915/display/intel_hotplug.c
37+
index 907ab7526cb4,e8562f6f8bb4..000000000000
38+
--- a/drivers/gpu/drm/i915/display/intel_hotplug.c
39+
+++ b/drivers/gpu/drm/i915/display/intel_hotplug.c
40+
@@@ -210,8 -212,9 +210,14 @@@ intel_hpd_irq_storm_switch_to_polling(s
41+
42+
/* Enable polling and queue hotplug re-enabling. */
43+
if (hpd_disabled) {
44+
++<<<<<<< HEAD
45+
+ drm_kms_helper_poll_enable(&dev_priv->drm);
46+
+ mod_delayed_work(system_wq, &dev_priv->display.hotplug.reenable_work,
47+
++=======
48+
+ drm_kms_helper_poll_reschedule(&dev_priv->drm);
49+
+ mod_delayed_work(dev_priv->unordered_wq,
50+
+ &dev_priv->display.hotplug.reenable_work,
51+
++>>>>>>> 50452f2f7685 (drm/i915: Fix HPD polling, reenabling the output poll work as needed)
52+
msecs_to_jiffies(HPD_STORM_REENABLE_DELAY));
53+
}
54+
}
55+
* Unmerged path drivers/gpu/drm/i915/display/intel_hotplug.c

0 commit comments

Comments
 (0)