Re: S4 resume breakage with i915 driver

Chris Wilson
2016-08-25T16:12:23Z

On Thu, Aug 25, 2016 at 05:54:58PM +0200, Takashi Iwai wrote:
> On Thu, 25 Aug 2016 17:32:41 +0200,
>
> > Could you confirm that bisect has any
> > impact on the other machines, and of course double check the result?
>
> You're asking bisection on all machines from the scratch for such a
> bug taking so long time to reproduce, and especially for i915 code
> path, that is known to be deadly difficult due to various merge
> commits? I sincerely decline the offer :)

;)

> Yes, the result was double-checked. This has a positive effect on all
> our tested machines.

That's more what I wanted to hear, just because it sounds dubious based
on the impact of the bisect result.

> Maybe But it's hard to tell exactly whether this is
> the 100% culprit. As said, there have been multiple S4 bugs, so far.
> IVY worked without this patch (after x86 fixes), but obviously this
> had no negative effect, either.

Try

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 95ddd56b89f0..913ccf14c5a9 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1946,6 +1946,7 @@ static int i915_pm_thaw(struct device *dev)
/* restore: called after loading the hibernation image. */
static int i915_pm_restore_early(struct device *dev)
{
+ intel_gpu_reset(dev_to_i915(dev), ALL_ENGINES);
return i915_pm_resume_early(dev);
}

as a shot in the dark.
-Chris

--
Chris Wilson, Intel Open Source Technology Centre