public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: Sagar Arun Kamble <sagar.a.kamble@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 01/16] drm/i915: vlv: fix gunit HW state corruption during S4 suspend
Date: Mon, 15 Sep 2014 20:42:56 +0300	[thread overview]
Message-ID: <1410802976.3761.6.camel@ideak-mobl> (raw)
In-Reply-To: <1410801961.26473.7.camel@sagar-desktop>

The point of doing these in thaw_early is to work around an ordering
issue wrt. to the hda driver, see the comment in i915_resume_early(). I
don't see a problem of having them in thaw_early; if you meant that they
lack the corresponding cleanup calls in freeze_late, it's just because
they don't have any.

On Mon, 2014-09-15 at 22:56 +0530, Sagar Arun Kamble wrote:
> From DPM documentation, thaw_early should undo actions by freeze_late.
> Can we move following snippet from thaw_early to thaw to comply with
> this?
> 
> 	intel_uncore_early_sanitize(dev, true);
>         intel_uncore_sanitize(dev);
>         intel_power_domains_init_hw(dev_priv);
> 
> On Wed, 2014-09-10 at 18:16 +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>
> > ---
> >  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,
> 
> 

  reply	other threads:[~2014-09-15 17:43 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 [this message]
2014-09-29 15:30       ` Sagar Arun Kamble
2014-10-21 12:34   ` Ville Syrjälä
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=1410802976.3761.6.camel@ideak-mobl \
    --to=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox