All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org, Sagar Kamble <sagar.a.kamble@intel.com>
Subject: Re: [PATCH 01/16] drm/i915: vlv: fix gunit HW state corruption during S4 suspend
Date: Tue, 21 Oct 2014 15:34:00 +0300	[thread overview]
Message-ID: <20141021123400.GD4284@intel.com> (raw)
In-Reply-To: <1410362229-814-2-git-send-email-imre.deak@intel.com>

On Wed, Sep 10, 2014 at 06:16:54PM +0300, Imre Deak wrote:
> During S4 freeze we don't call intel_suspend_complete(), which would
> save the gunit HW state, but during S4 thaw/restore events we call
> intel_resume_prepare() which restores it, thus ending up in a corrupted
> HW state.
> 
> Fix this by calling intel_suspend_complete() from the corresponding
> freeze_late event handler.
> 
> The issue was introduced in
> commit 016970beb05da6285c2f3ed2bee1c676cb75972e
> Author: Sagar Kamble <sagar.a.kamble@intel.com>
> Date:   Wed Aug 13 23:07:06 2014 +0530
> 
> CC: Sagar Kamble <sagar.a.kamble@intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Yep, pairs up with .thaw_early()/.restore_early(), which should take
care of all the valid combinations of pm events.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/i915_drv.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index b8bd008..2365875 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -987,6 +987,15 @@ static int i915_pm_freeze(struct device *dev)
>  	return i915_drm_freeze(drm_dev);
>  }
>  
> +static int i915_pm_freeze_late(struct device *dev)
> +{
> +	struct pci_dev *pdev = to_pci_dev(dev);
> +	struct drm_device *drm_dev = pci_get_drvdata(pdev);
> +	struct drm_i915_private *dev_priv = drm_dev->dev_private;
> +
> +	return intel_suspend_complete(dev_priv);
> +}
> +
>  static int i915_pm_thaw_early(struct device *dev)
>  {
>  	struct pci_dev *pdev = to_pci_dev(dev);
> @@ -1571,6 +1580,7 @@ static const struct dev_pm_ops i915_pm_ops = {
>  	.resume_early = i915_pm_resume_early,
>  	.resume = i915_pm_resume,
>  	.freeze = i915_pm_freeze,
> +	.freeze_late = i915_pm_freeze_late,
>  	.thaw_early = i915_pm_thaw_early,
>  	.thaw = i915_pm_thaw,
>  	.poweroff = i915_pm_poweroff,
> -- 
> 1.8.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC

  parent reply	other threads:[~2014-10-21 12:34 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-10 15:16 [PATCH 00/16] fix VLV S4 suspend/resume, unify S3/S4 handlers Imre Deak
2014-09-10 15:16 ` [PATCH 01/16] drm/i915: vlv: fix gunit HW state corruption during S4 suspend Imre Deak
2014-09-15 17:26   ` Sagar Arun Kamble
2014-09-15 17:42     ` Imre Deak
2014-09-29 15:30       ` Sagar Arun Kamble
2014-10-21 12:34   ` Ville Syrjälä [this message]
2014-09-10 15:16 ` [PATCH 02/16] drm/i915: remove dead code from legacy suspend handler Imre Deak
2014-10-21 11:56   ` Ville Syrjälä
2014-10-21 12:11     ` Daniel Vetter
2014-09-10 15:16 ` [PATCH 03/16] drm/i915: factor out i915_drm_suspend_late Imre Deak
2014-09-10 15:16 ` [PATCH 04/16] drm/i915: unify legacy S3 suspend and S4 freeze handlers Imre Deak
2014-09-11  9:00   ` Daniel Vetter
2014-09-11 12:39     ` Imre Deak
2014-09-10 15:16 ` [PATCH 05/16] drm/i915: propagate error from legacy resume handler Imre Deak
2014-09-10 15:16 ` [PATCH 06/16] drm/i915: vlv: fix switcheroo/legacy suspend/resume Imre Deak
2014-09-29 15:33   ` Sagar Arun Kamble
2014-09-10 15:17 ` [PATCH 07/16] drm/i915: fix S4 suspend while switcheroo state is off Imre Deak
2014-10-21 12:41   ` Ville Syrjälä
2014-10-21 13:08     ` Imre Deak
2014-10-21 13:24       ` Ville Syrjälä
2014-09-10 15:17 ` [PATCH 08/16] drm/i915: remove unused restore_gtt_mappings optimization during suspend Imre Deak
2014-09-11  7:49   ` Chris Wilson
2014-09-11 11:59     ` Imre Deak
2014-09-11 14:15       ` Jesse Barnes
2014-10-21 13:50         ` Ville Syrjälä
2014-11-06 21:50           ` Jesse Barnes
2014-09-11  8:57   ` Daniel Vetter
2014-09-10 15:17 ` [PATCH 09/16] drm/i915: check for GT faults during S3 resume and S4 restore too Imre Deak
2014-09-11  7:47   ` Chris Wilson
2014-09-11 11:53     ` Imre Deak
2014-09-15 15:21   ` [PATCH v2 09/16] drm/i915: check for GT faults in all resume handlers and driver load time Imre Deak
2014-09-15 16:45     ` Chris Wilson
2014-09-10 15:17 ` [PATCH 10/16] drm/i915: enable output polling during S4 thaw Imre Deak
2014-09-10 15:17 ` [PATCH 11/16] drm/i915: disable/re-enable PCI device around S4 freeze/thaw Imre Deak
2014-10-21 13:16   ` Ville Syrjälä
2014-09-10 15:17 ` [PATCH 12/16] drm/i915: unify S3 and S4 suspend/resume handlers Imre Deak
2014-09-10 15:17 ` [PATCH 13/16] drm/i915: sanitize suspend/resume helper function names Imre Deak
2014-09-10 15:17 ` [PATCH 14/16] drm/i915: add poweroff_late handler Imre Deak
2014-10-21 13:32   ` Ville Syrjälä
2014-09-10 15:17 ` [PATCH 15/16] drm/i915: unify switcheroo and legacy suspend/resume handlers Imre Deak
2014-09-10 15:17 ` [PATCH 16/16] drm/i915: add comments on what stage a given PM handler is called Imre Deak
2014-09-15 15:23   ` [PATCH v2 " Imre Deak
2014-10-21 13:42   ` [PATCH " Ville Syrjälä
2014-10-21 13:51     ` Imre Deak
2014-09-10 15:52 ` [PATCH 00/16] fix VLV S4 suspend/resume, unify S3/S4 handlers Daniel Vetter
2014-09-10 18:38   ` Imre Deak
2014-09-11  9:02     ` Daniel Vetter
2014-09-11 13:48       ` Imre Deak
2014-10-21 14:42 ` Ville Syrjälä

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=20141021123400.GD4284@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=sagar.a.kamble@intel.com \
    /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.