* [PATCH] drm/i915/vlv: Prevent enabling hpd polling in late suspend
@ 2016-10-26 16:36 Lyude
2016-10-26 16:50 ` Ville Syrjälä
0 siblings, 1 reply; 3+ messages in thread
From: Lyude @ 2016-10-26 16:36 UTC (permalink / raw)
To: intel-gfx; +Cc: Lyude, David Airlie, linux-kernel, dri-devel, Daniel Vetter
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 <lyude@redhat.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Jani Saarinen <jani.saarinen@intel.com>
Cc: Petry Latvala <petri.latvala@intel.com>
---
drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 82edba2..ac85482 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -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,
--
2.7.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915/vlv: Prevent enabling hpd polling in late suspend
2016-10-26 16:36 [PATCH] drm/i915/vlv: Prevent enabling hpd polling in late suspend Lyude
@ 2016-10-26 16:50 ` Ville Syrjälä
2016-10-29 12:14 ` Jani Nikula
0 siblings, 1 reply; 3+ messages in thread
From: Ville Syrjälä @ 2016-10-26 16:50 UTC (permalink / raw)
To: Lyude
Cc: intel-gfx, Jani Saarinen, Petry Latvala, Daniel Vetter,
Jani Nikula, David Airlie, dri-devel, linux-kernel
On Wed, Oct 26, 2016 at 12:36:09PM -0400, Lyude wrote:
> 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 <lyude@redhat.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Jani Saarinen <jani.saarinen@intel.com>
> Cc: Petry Latvala <petri.latvala@intel.com>
> ---
> drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> index 82edba2..ac85482 100644
> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> @@ -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.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> }
>
> static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,
> --
> 2.7.4
--
Ville Syrjälä
Intel OTC
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] drm/i915/vlv: Prevent enabling hpd polling in late suspend
2016-10-26 16:50 ` Ville Syrjälä
@ 2016-10-29 12:14 ` Jani Nikula
0 siblings, 0 replies; 3+ messages in thread
From: Jani Nikula @ 2016-10-29 12:14 UTC (permalink / raw)
To: Ville Syrjälä, Lyude
Cc: Petry Latvala, intel-gfx, linux-kernel, dri-devel, Daniel Vetter,
Jani Saarinen
On Wed, 26 Oct 2016, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Oct 26, 2016 at 12:36:09PM -0400, Lyude wrote:
>> 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 <lyude@redhat.com>
>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>> Cc: Jani Saarinen <jani.saarinen@intel.com>
>> Cc: Petry Latvala <petri.latvala@intel.com>
>> ---
>> drivers/gpu/drm/i915/intel_runtime_pm.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> index 82edba2..ac85482 100644
>> --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>> +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>> @@ -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.
>
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Pushed to drm-intel-next-queued, thanks for the patch and review.
BR,
Jani.
>
>> }
>>
>> static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,
>> --
>> 2.7.4
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-10-29 12:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-26 16:36 [PATCH] drm/i915/vlv: Prevent enabling hpd polling in late suspend Lyude
2016-10-26 16:50 ` Ville Syrjälä
2016-10-29 12:14 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).