Bug 69834 - [SNB/IVB/HSW Regression]igt/gem_suspend fails
Summary: [SNB/IVB/HSW Regression]igt/gem_suspend fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
: 69837 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-09-26 05:57 UTC by lu hua
Modified: 2017-10-06 14:42 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
dmesg (121.26 KB, text/plain)
2013-09-26 05:57 UTC, lu hua
no flags Details
Restore global PTE on resume (1.68 KB, patch)
2013-09-26 08:21 UTC, Chris Wilson
no flags Details | Splinter Review
Restore global PTE on resume (1.78 KB, patch)
2013-09-26 08:23 UTC, Chris Wilson
no flags Details | Splinter Review

Description lu hua 2013-09-26 05:57:50 UTC
Created attachment 86614 [details]
dmesg

System Environment:
--------------------------
Platform:  Sandybridge/Ivybridge/Haswell
Kernel: (drm-intel-nightly)532fcf286aa6feba529587d0288a0097ba8b713e

Bug detailed description:
-----------------------------
It fails on Sandybridge/Ivybridge/Haswell with -nightly and -fixes kernel. It works well on -fixes kernel.
subcase fence-restore-tiled2untiled and fence-restore-untiled fail.

The latest know good commit:1b068ee25776533074251f1c6276c5f720c0284b
The latest know bad commit: 13992eba94ab34220e8e754c5cd6beb89c96bd73

run ./gem_suspend --run-subtest fence-restore-tiled2untiled
output:
rtcwake: wakeup from "mem" using /dev/rtc0 at Thu Sep 26 13:33:29 2013
checking the first canary object
Test assertion failure function test_fence_restore, file gem_suspend.c:83:
Failed assertion: ptr1[i] == i
Subtest fence-restore-tiled2untiled: FAIL

Reproduce steps:
----------------------------
1. ./gem_suspend --run-subtest fence-restore-tiled2untiled
Comment 1 Daniel Vetter 2013-09-26 07:41:32 UTC
Does this bisect to the same patch as bug #69837 ?
Comment 2 Chris Wilson 2013-09-26 08:21:26 UTC
Created attachment 86623 [details] [review]
Restore global PTE on resume
Comment 3 Chris Wilson 2013-09-26 08:23:33 UTC
Created attachment 86626 [details] [review]
Restore global PTE on resume
Comment 4 lu hua 2013-09-26 08:55:09 UTC
(In reply to comment #1)
> Does this bisect to the same patch as bug #69837 ?

Yes, it has same bisect commit with bug 69837.
c6916417c8575637659686ff0e4f744babf0cb4e is the first bad commit
Comment 5 Chris Wilson 2013-09-27 10:30:37 UTC
commit cd298302c6ef3d71cf993d5a4db6819330a471c0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Sep 26 09:22:45 2013 +0100

    drm/i915: Restore global mappings upon resume
    
    commit c6916417c8575637659686ff0e4f744babf0cb4e
    Author: Ben Widawsky <ben@bwidawsk.net>
    Date:   Tue Sep 24 09:58:00 2013 -0700
    
        drm/i915: Use the new vm [un]bind functions
    
    changes the interpretation of the bind routines, and in particular we
    only bind into the global GTT if we pass a flag to the routine. So upon
    resume, we need to ask for whatever we thing is bound into the global
    GTT (cursors, fences, scanouts) to be rebound or else glorious
    corruption ensues.
    
    v2.1: Clear the is-bound flags before attempting to rebind.
    
    Fixes: i-g-t/gem_suspend
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69834
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Ben Widawsky <ben@bwidawsk.net>
    [danvet: As discussed on irc drop the clearing of the
    has_aliasing_ppgtt_mapping, ppgtt ptes will survive s/r or
    hibernation, and higher leves (pdes) get restore in the ->enable
    callback.]
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch
Comment 6 Chris Wilson 2013-09-27 10:30:50 UTC
*** Bug 69837 has been marked as a duplicate of this bug. ***
Comment 7 lu hua 2013-09-30 06:07:34 UTC
Verified.Fixed.
Comment 8 Elizabeth 2017-10-06 14:42:49 UTC
Closing old verified.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.