diff mbox

drm/i915: Cancel outstanding pc8 work when shutting down the device

Message ID 1381395276-14055-1-git-send-email-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Oct. 10, 2013, 8:54 a.m. UTC
As part of the device quiesceing we need to disable all active timers
and delayed workers so that they do not execute after the module is
unloaded.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
---
 drivers/gpu/drm/i915/intel_display.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Paulo Zanoni Oct. 10, 2013, 8:21 p.m. UTC | #1
2013/10/10 Chris Wilson <chris@chris-wilson.co.uk>:
> As part of the device quiesceing we need to disable all active timers
> and delayed workers so that they do not execute after the module is
> unloaded.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 683b68e..5ce1558 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -11065,6 +11065,7 @@ void intel_modeset_quiesce(struct drm_device *dev)

I don't see this "intel_modeset_quiesce" on my drm-intel-nightly
branch from today :(

Besides, we already cancel the work at i915_driver_unload().

>
>         cancel_work_sync(&dev_priv->hotplug_work);
>         cancel_work_sync(&dev_priv->rps.work);
> +       cancel_delayed_work_sync(&dev_priv->pc8.enable_work);
>
>         /* catch all required for dev_priv->wq */
>         flush_scheduled_work();
> --
> 1.7.9.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Chris Wilson Oct. 10, 2013, 8:41 p.m. UTC | #2
On Thu, Oct 10, 2013 at 05:21:37PM -0300, Paulo Zanoni wrote:
> 2013/10/10 Chris Wilson <chris@chris-wilson.co.uk>:
> > As part of the device quiesceing we need to disable all active timers
> > and delayed workers so that they do not execute after the module is
> > unloaded.
> >
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
> > ---
> >  drivers/gpu/drm/i915/intel_display.c |    1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 683b68e..5ce1558 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -11065,6 +11065,7 @@ void intel_modeset_quiesce(struct drm_device *dev)
> 
> I don't see this "intel_modeset_quiesce" on my drm-intel-nightly
> branch from today :(
> 
> Besides, we already cancel the work at i915_driver_unload().

Well that at least allays my immediate fears that the timer is still
running then. However, it probably wants to be hsw_disable_package_c8()
instead.

Oh well, we know a timer is still running somewhere.
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 683b68e..5ce1558 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -11065,6 +11065,7 @@  void intel_modeset_quiesce(struct drm_device *dev)
 
 	cancel_work_sync(&dev_priv->hotplug_work);
 	cancel_work_sync(&dev_priv->rps.work);
+	cancel_delayed_work_sync(&dev_priv->pc8.enable_work);
 
 	/* catch all required for dev_priv->wq */
 	flush_scheduled_work();