Re: [PATCH 3/7] drm/i915: don't read pp_ctrl_reg if we're suspended

Daniel Vetter
2014-04-01T20:37:54Z

On Tue, Apr 01, 2014 at 02:55:09PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>
> ... at edp_have_panel_vdd. Just return false, saying we don't have the
> panel VDD since the device is suspended.
>
> We started getting WARNs about this problem since the patch that
> started checking if we're suspended while reading registers.
>
> Testcase: igt/pm_pc8
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>

Hm, where's an example backtrace for this? I wonder whether we simply need
to extend the range where we hold the runtime pm ref a bit ...

Whatever, merged (I can rebase afterwards if you supply the backtrace for
the commit message, there we should at least have it).
-Daniel
> ---
> drivers/gpu/drm/i915/intel_dp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 6f767e5..44471cc 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -314,7 +314,8 @@ static bool edp_have_panel_vdd(struct intel_dp *intel_dp)
> struct drm_device *dev = intel_dp_to_dev(intel_dp);
> struct drm_i915_private *dev_priv = dev->dev_private;
>
> - return (I915_READ(_pp_ctrl_reg(intel_dp)) & EDP_FORCE_VDD) != 0;
> + return !dev_priv->pm.suspended &&
> + (I915_READ(_pp_ctrl_reg(intel_dp)) & EDP_FORCE_VDD) != 0;
> }
>
> static void
> --
> 1.8.5.3
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch