Message ID | 1409864822-1924-1-git-send-email-przanoni@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Sep 04, 2014 at 06:07:02PM -0300, Paulo Zanoni wrote: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > If we don't cancel them, we may end up running them while the device > is runtime suspended, which will trigger lots and lots of WARNs on > dmesg. > > Regression introduced by: > commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca > Author: Daisy Sun <daisy.sun@intel.com> > Date: Mon Aug 11 11:08:38 2014 -0700 > drm/i915/bdw: BDW Software Turbo > > Testcase: igt/pm_rpm/gem-execbuf (you may have to run it a few times) > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Please don't forget to cc relevant people when you fix a regression. -Daniel > --- > drivers/gpu/drm/i915/i915_drv.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 8ff3755..4ce217b 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -1448,6 +1448,10 @@ static int intel_runtime_suspend(struct device *device) > * intel_mark_idle(). > */ > cancel_work_sync(&dev_priv->rps.work); > + if (dev_priv->rps.is_bdw_sw_turbo) { > + del_timer_sync(&dev_priv->rps.sw_turbo.flip_timer); > + cancel_work_sync(&dev_priv->rps.sw_turbo.work_max_freq); > + } > intel_runtime_pm_disable_interrupts(dev); > > ret = intel_suspend_complete(dev_priv); > -- > 2.1.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
(adding Daisy Sun to the conversation) 2014-09-04 18:07 GMT-03:00 Paulo Zanoni <przanoni@gmail.com>: > From: Paulo Zanoni <paulo.r.zanoni@intel.com> > > If we don't cancel them, we may end up running them while the device > is runtime suspended, which will trigger lots and lots of WARNs on > dmesg. > > Regression introduced by: > commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca > Author: Daisy Sun <daisy.sun@intel.com> > Date: Mon Aug 11 11:08:38 2014 -0700 > drm/i915/bdw: BDW Software Turbo > > Testcase: igt/pm_rpm/gem-execbuf (you may have to run it a few times) > Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> > --- > drivers/gpu/drm/i915/i915_drv.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 8ff3755..4ce217b 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -1448,6 +1448,10 @@ static int intel_runtime_suspend(struct device *device) > * intel_mark_idle(). > */ > cancel_work_sync(&dev_priv->rps.work); > + if (dev_priv->rps.is_bdw_sw_turbo) { > + del_timer_sync(&dev_priv->rps.sw_turbo.flip_timer); > + cancel_work_sync(&dev_priv->rps.sw_turbo.work_max_freq); > + } > intel_runtime_pm_disable_interrupts(dev); > > ret = intel_suspend_complete(dev_priv); > -- > 2.1.0 >
Need to reset the flip_received flag at the end of this block, indicate that the flip interrupt will stop working. + if (dev_priv->rps.is_bdw_sw_turbo) { + del_timer_sync(&dev_priv->rps.sw_turbo.flip_timer); + cancel_work_sync(&dev_priv->rps.sw_turbo.work_max_freq); + atomic_set(&dev_priv->rps.sw_turbo.flip_received, false); + } - Daisy On 9/5/2014 6:00 AM, Paulo Zanoni wrote: > (adding Daisy Sun to the conversation) > > 2014-09-04 18:07 GMT-03:00 Paulo Zanoni <przanoni@gmail.com>: >> From: Paulo Zanoni <paulo.r.zanoni@intel.com> >> >> If we don't cancel them, we may end up running them while the device >> is runtime suspended, which will trigger lots and lots of WARNs on >> dmesg. >> >> Regression introduced by: >> commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca >> Author: Daisy Sun <daisy.sun@intel.com> >> Date: Mon Aug 11 11:08:38 2014 -0700 >> drm/i915/bdw: BDW Software Turbo >> >> Testcase: igt/pm_rpm/gem-execbuf (you may have to run it a few times) >> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> >> --- >> drivers/gpu/drm/i915/i915_drv.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c >> index 8ff3755..4ce217b 100644 >> --- a/drivers/gpu/drm/i915/i915_drv.c >> +++ b/drivers/gpu/drm/i915/i915_drv.c >> @@ -1448,6 +1448,10 @@ static int intel_runtime_suspend(struct device *device) >> * intel_mark_idle(). >> */ >> cancel_work_sync(&dev_priv->rps.work); >> + if (dev_priv->rps.is_bdw_sw_turbo) { >> + del_timer_sync(&dev_priv->rps.sw_turbo.flip_timer); >> + cancel_work_sync(&dev_priv->rps.sw_turbo.work_max_freq); >> + } >> intel_runtime_pm_disable_interrupts(dev); >> >> ret = intel_suspend_complete(dev_priv); >> -- >> 2.1.0 >> > >
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 8ff3755..4ce217b 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -1448,6 +1448,10 @@ static int intel_runtime_suspend(struct device *device) * intel_mark_idle(). */ cancel_work_sync(&dev_priv->rps.work); + if (dev_priv->rps.is_bdw_sw_turbo) { + del_timer_sync(&dev_priv->rps.sw_turbo.flip_timer); + cancel_work_sync(&dev_priv->rps.sw_turbo.work_max_freq); + } intel_runtime_pm_disable_interrupts(dev); ret = intel_suspend_complete(dev_priv);