drm/i915/vlv: Prevent enabling hpd polling in late suspend
Subsystems (2)
PATCH 1/1 drm/i915/vlv: Prevent enabling hpd polling in late suspend
One of the CI machines began to run into issues with the hpd poller suddenly waking up in the midst of the late suspend phase. It looks like this is getting caused by the fact we now deinitialize power wells in late suspend, which means that intel_hpd_poll_init() gets called in late suspend causing polling to get re-enabled. So, when deinitializing power wells on valleyview we now refrain from enabling polling in the midst of suspend.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98040
--- drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_runtime_pm.c +3 -1
@@ -1138,7 +1138,9 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)intel_power_sequencer_reset (dev_priv); -intel_hpd_poll_init (dev_priv); +/* Prevent us from re-enabling polling on accident in late suspend */ +if (!dev_priv->drm.dev->power.is_suspended) +intel_hpd_poll_init (dev_priv); } static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,
Signature · 6 lines
2.7.4 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 23 lines · Lyude
One of the CI machines began to run into issues with the hpd poller suddenly waking up in the midst of the late suspend phase. It looks like this is getting caused by the fact we now deinitialize power wells in late suspend, which means that
intel_hpd_poll_init()gets called in late suspend causing polling to get re-enabled. So, when deinitializing power wells on valleyview we now refrain from enabling polling in the midst of suspend.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98040
Fixes 19625e85c6ec ("drm/i915: Enable polling when we don't have hpd")Signed-off-by Lyude <[email protected]>Cc Ville Syrjälä <[email protected]>Cc Jani Saarinen <[email protected]>Cc Petry Latvala <[email protected]>--- drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)drivers/gpu/drm/i915/intel_runtime_pm.c +0
-0
drivers/gpu/drm/i915/intel_runtime_pm.c static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv) · line 1143
Quoted 7 lines
drivers/gpu/drm/i915/intel_runtime_pm.c +3
-1@@ -1138,7 +1138,9 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)intel_power_sequencer_reset (dev_priv); -intel_hpd_poll_init (dev_priv); +/* Prevent us from re-enabling polling on accident in late suspend */ +if (!dev_priv->drm.dev->power.is_suspended) +intel_hpd_poll_init (dev_priv);
The flag would appear to get set between suspend and suspend_late, so looks like this should be sufficient for our purposes.
Quoted 5 lines
drivers/gpu/drm/i915/intel_runtime_pm.c +0
-0} static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,Signature · 1 line
2.7.4
Signature · 2 lines
Ville Syrjälä Intel OTC
Quoted 35 lines · Ville Syrjälä
Quoted 23 lines · Lyude
One of the CI machines began to run into issues with the hpd poller suddenly waking up in the midst of the late suspend phase. It looks like this is getting caused by the fact we now deinitialize power wells in late suspend, which means that
intel_hpd_poll_init()gets called in late suspend causing polling to get re-enabled. So, when deinitializing power wells on valleyview we now refrain from enabling polling in the midst of suspend.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98040
Fixes 19625e85c6ec ("drm/i915: Enable polling when we don't have hpd")Signed-off-by Lyude <[email protected]>Cc Ville Syrjälä <[email protected]>Cc Jani Saarinen <[email protected]>Cc Petry Latvala <[email protected]>--- drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)drivers/gpu/drm/i915/intel_runtime_pm.c +0
-0drivers/gpu/drm/i915/intel_runtime_pm.c static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv) · line 1143
Quoted 7 lines
drivers/gpu/drm/i915/intel_runtime_pm.c +3
-1@@ -1138,7 +1138,9 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)intel_power_sequencer_reset (dev_priv); -intel_hpd_poll_init (dev_priv); +/* Prevent us from re-enabling polling on accident in late suspend */ +if (!dev_priv->drm.dev->power.is_suspended) +intel_hpd_poll_init (dev_priv);The flag would appear to get set between suspend and
suspend_late, so looks like this should be sufficient for our purposes.
Quoted 1 line
Reviewed-by Ville Syrjälä <[email protected]>
Pushed to drm-intel-next-queued, thanks for the patch and review.
BR,
Jani.
Quoted 6 lines
Quoted 6 lines
drivers/gpu/drm/i915/intel_runtime_pm.c +0
-0} static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,Signature · 1 line
2.7.4
Signature · 5 lines
Jani Nikula, Intel Open Source Technology Center _______________________________________________ dri-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
Patchwork
CI✓ Fi.CI.BAT: success for drm/i915/vlv: Prevent enabling hpd polling in late suspend
In reply to Lyude== Series Details ==
== Series Details ==
Series: drm/i915/vlv: Prevent enabling hpd polling in late suspend
URL : https://patchwork.freedesktop.org/series/14420/
State : success
== Summary ==
Series 14420v1 drm/i915/vlv: Prevent enabling hpd polling in late suspend
https://patchwork.freedesktop.org/api/1.0/series/14420/revisions/1/mbox/
Test drv_module_reload_basic:
dmesg-warn -> PASS (fi-ilk-650)
Test kms_pipe_crc_basic:
Subgroup suspend-read-crc-pipe-a:
dmesg-warn -> PASS (fi-ilk-650)fi-bdw-5557u total:246 pass:231 dwarn:0 dfail:0 fail:0 skip:15 fi-bsw-n3050 total:246 pass:204 dwarn:0 dfail:0 fail:0 skip:42 fi-bxt-t5700 total:246 pass:216 dwarn:0 dfail:0 fail:0 skip:30 fi-byt-j1900 total:246 pass:215 dwarn:0 dfail:0 fail:0 skip:31 fi-byt-n2820 total:246 pass:211 dwarn:0 dfail:0 fail:0 skip:35 fi-hsw-4770 total:246 pass:224 dwarn:0 dfail:0 fail:0 skip:22 fi-hsw-4770r total:246 pass:223 dwarn:0 dfail:0 fail:0 skip:23 fi-ilk-650 total:246 pass:185 dwarn:0 dfail:0 fail:0 skip:61 fi-ivb-3520m total:246 pass:220 dwarn:0 dfail:0 fail:0 skip:26 fi-ivb-3770 total:246 pass:220 dwarn:0 dfail:0 fail:0 skip:26 fi-kbl-7200u total:246 pass:222 dwarn:0 dfail:0 fail:0 skip:24 fi-skl-6260u total:246 pass:232 dwarn:0 dfail:0 fail:0 skip:14 fi-skl-6700hq total:246 pass:223 dwarn:0 dfail:0 fail:0 skip:23 fi-skl-6700k total:246 pass:222 dwarn:1 dfail:0 fail:0 skip:23 fi-skl-6770hq total:246 pass:232 dwarn:0 dfail:0 fail:0 skip:14 fi-snb-2520m total:246 pass:209 dwarn:0 dfail:0 fail:0 skip:37 fi-snb-2600 total:246 pass:208 dwarn:0 dfail:0 fail:0 skip:38
0eefa35311a3d85e6cbfda4bb326809581acc3b1 drm-intel-nightly: 2016y-10m-26d-17h-38m-29s UTC integration manifest c96a2cc drm/i915/vlv: Prevent enabling hpd polling in late suspend
Full results at https://intel-gfx-ci.01.org/CI/Patchwork_2828/
== Logs ==
For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_2828/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx