All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel@ffwll.ch>
To: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 4/4] Revert "drm/i915: disable interrupts earlier in the driver unload code"
Date: Fri, 10 May 2013 09:27:09 +0200	[thread overview]
Message-ID: <20130510072709.GD12292@phenom.ffwll.local> (raw)
In-Reply-To: <1368035116-3345-4-git-send-email-jbarnes@virtuousgeek.org>

On Wed, May 08, 2013 at 10:45:16AM -0700, Jesse Barnes wrote:
> This reverts commit fd0c06420d39958032655a04cfd194d5a7b38f83.

A bit thin on details about what exactly blows up ... can you please dig a
bit more?
-Daniel

> ---
>  drivers/gpu/drm/i915/intel_display.c |   19 +++++++------------
>  drivers/gpu/drm/i915/intel_pm.c      |    3 ---
>  2 files changed, 7 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index d0c5ecf..e22e752 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9674,23 +9674,12 @@ void intel_modeset_cleanup(struct drm_device *dev)
>  	struct drm_crtc *crtc;
>  	struct intel_crtc *intel_crtc;
>  
> -	/*
> -	 * Interrupts and polling as the first thing to avoid creating havoc.
> -	 * Too much stuff here (turning of rps, connectors, ...) would
> -	 * experience fancy races otherwise.
> -	 */
> -	drm_irq_uninstall(dev);
> -	cancel_work_sync(&dev_priv->hotplug_work);
> -	/*
> -	 * Due to the hpd irq storm handling the hotplug work can re-arm the
> -	 * poll handlers. Hence disable polling after hpd handling is shut down.
> -	 */
>  	drm_kms_helper_poll_fini(dev);
> -
>  	mutex_lock(&dev->struct_mutex);
>  
>  	intel_unregister_dsm_handler();
>  
> +
>  	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
>  		/* Skip inactive CRTCs */
>  		if (!crtc->fb)
> @@ -9708,6 +9697,12 @@ void intel_modeset_cleanup(struct drm_device *dev)
>  
>  	mutex_unlock(&dev->struct_mutex);
>  
> +	/* Disable the irq before mode object teardown, for the irq might
> +	 * enqueue unpin/hotplug work. */
> +	drm_irq_uninstall(dev);
> +	cancel_work_sync(&dev_priv->hotplug_work);
> +	cancel_work_sync(&dev_priv->rps.work);
> +
>  	/* flush any delayed tasks or pending work */
>  	flush_scheduled_work();
>  
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index 081194d..992ff0d 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -3729,9 +3729,6 @@ void intel_disable_gt_powersave(struct drm_device *dev)
>  {
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> -	/* Interrupts should be disabled already to avoid re-arming. */
> -	WARN_ON(dev->irq_enabled);
> -
>  	if (IS_IRONLAKE_M(dev)) {
>  		ironlake_disable_drps(dev);
>  		ironlake_disable_rc6(dev);
> -- 
> 1.7.10.4
> 
> _______________________________________________
> 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

  reply	other threads:[~2013-05-10  7:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-08 17:45 [PATCH 1/4] drm/i915: BIOS and power context stolen mem handling for VLV v7 Jesse Barnes
2013-05-08 17:45 ` [PATCH 2/4] drm/i915: allow stolen, pre-allocated objects to avoid GTT allocation v2 Jesse Barnes
2013-05-09  2:12   ` Ben Widawsky
2013-05-09 19:28     ` Jesse Barnes
2013-05-08 17:45 ` [PATCH 3/4] drm/i915: VLV support is no longer preliminary Jesse Barnes
2013-05-10  7:29   ` Daniel Vetter
2013-05-10 16:10     ` Jesse Barnes
2013-05-10 18:58       ` Daniel Vetter
2013-05-10 19:09         ` Jesse Barnes
2013-05-08 17:45 ` [PATCH 4/4] Revert "drm/i915: disable interrupts earlier in the driver unload code" Jesse Barnes
2013-05-10  7:27   ` Daniel Vetter [this message]
2013-05-10 16:09     ` Jesse Barnes
2013-05-10 16:11     ` Jesse Barnes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130510072709.GD12292@phenom.ffwll.local \
    --to=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jbarnes@virtuousgeek.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.