[Intel-gfx] [PATCH 08/11] drm/i915: call assert_device_not_suspended at gen6_force_wake_work
Imre Deak
imre.deak at intel.com
Fri Feb 28 15:12:24 CET 2014
On Fri, 2014-02-21 at 15:05 -0300, Paulo Zanoni wrote:
> 2014-02-21 13:52 GMT-03:00 Paulo Zanoni <przanoni at gmail.com>:
> > From: Paulo Zanoni <paulo.r.zanoni at intel.com>
> >
> > Because we shouldn't be runtime suspended when forcewake is supposed
> > to be enabled.
> >
> > This commit will trigger the WARNs because we currently have a bug
> > with this. The next patches should fix the bug.
>
> Actually I changed the patch order and forgot to remove the sentence
> above. Patch 03/11 should fix it.
>
> >
> > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
Patch 3/11 is now part of "Merge PC8 with runtime PM, v2" and this
should come after that. With the order fixed:
Reviewed-by: Imre Deak <imre.deak at intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_uncore.c | 15 ++++++++-------
> > 1 file changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
> > index 1f7226f..212de36 100644
> > --- a/drivers/gpu/drm/i915/intel_uncore.c
> > +++ b/drivers/gpu/drm/i915/intel_uncore.c
> > @@ -40,6 +40,12 @@
> >
> > #define __raw_posting_read(dev_priv__, reg__) (void)__raw_i915_read32(dev_priv__, reg__)
> >
> > +static void
> > +assert_device_not_suspended(struct drm_i915_private *dev_priv)
> > +{
> > + WARN(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
> > + "Device suspended\n");
> > +}
> >
> > static void __gen6_gt_wait_for_thread_c0(struct drm_i915_private *dev_priv)
> > {
> > @@ -295,6 +301,8 @@ static void gen6_force_wake_work(struct work_struct *work)
> > container_of(work, typeof(*dev_priv), uncore.force_wake_work.work);
> > unsigned long irqflags;
> >
> > + assert_device_not_suspended(dev_priv);
> > +
> > spin_lock_irqsave(&dev_priv->uncore.lock, irqflags);
> > if (--dev_priv->uncore.forcewake_count == 0)
> > dev_priv->uncore.funcs.force_wake_put(dev_priv, FORCEWAKE_ALL);
> > @@ -451,13 +459,6 @@ hsw_unclaimed_reg_check(struct drm_i915_private *dev_priv, u32 reg)
> > }
> > }
> >
> > -static void
> > -assert_device_not_suspended(struct drm_i915_private *dev_priv)
> > -{
> > - WARN(HAS_RUNTIME_PM(dev_priv->dev) && dev_priv->pm.suspended,
> > - "Device suspended\n");
> > -}
> > -
> > #define REG_READ_HEADER(x) \
> > unsigned long irqflags; \
> > u##x val = 0; \
> > --
> > 1.8.5.3
> >
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20140228/fa2b4a6e/attachment.sig>
More information about the Intel-gfx
mailing list