Bug 78935

Summary: [BDW Regression]igt/gem_render_copy fails
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Ben Widawsky <ben>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: high CC: ben, intel-gfx-bugs
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 78936    
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-05-20 03:58:58 UTC
Created attachment 99374 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
Good commit on -next-queued(b7c0d9df97c10ec5693a838df2fd53058f8e9e96)

Non-working platforms: BDW

==kernel==
--------------------------
-nightly: f79ba79cf037eea9ee757ad37730b00f43d5ef80 (fails)
-queued: d3b448d9917a3d6531e499d88bfb13ea5e31e4ad (fails)
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Fri May 16 18:59:00 2014 +0100

    drm/i915: Only unpin the default ctx object if it exists

    Since commit 691e6415c891b8b2b082a120b896b443531c4d45
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Wed Apr 9 09:07:36 2014 +0100

        drm/i915: Always use kref tracking for all contexts.

    we have contexts everywhere, and so we must be careful to distinguish
    fake contexts, which do not have an associated bo, and real ones, which
    do. In particular, we now need to be careful not to dereference NULL
    pointers.

    This is one such example, as the commit highlighted above failed to move
    the unpinning of the default ctx object into the real-context-only
    branch.

    Reported-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78792
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Ben Widawsky <benjamin.widawsky@intel.com>
    Cc: Mika Kuoppala <mika.kuoppala@intel.com>
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>

-fixes: e95a2f7509f5219177d6821a0a8754f93892ca56 (works)
    Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Date:   Thu May 8 15:09:19 2014 +0300

    drm/i915: Increase WM memory latency values on SNB

    On SNB the BIOS provided WM memory latency values seem insufficient to
    handle high resolution displays.

    In this particular case the display mode was a 2560x1440@60Hz, which
    makes the pixel clock 241.5 MHz. It was empirically found that a memory
    latency value if 1.2 usec is enough to avoid underruns, whereas the BIOS
    provided value of 0.7 usec was clearly too low. Incidentally 1.2 usec
    is what the typical BIOS provided values are on IVB systems.

    Increase the WM memory latency values to at least 1.2 usec on SNB.
    Hopefully this won't have a significant effect on power consumption.

    v2: Increase the latency values regardless of the pixel clock

    Cc: Robert N <crshman@gmail.com>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70254
    Tested-by: Robert Navarro <crshman@gmail.com>
    Tested-by: Vitaly Minko <vitaly.minko@gmail.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Jani Nikula <jani.nikula@intel.com>

==Bug detailed description==
-----------------------------
igt/gem_render_copy fails

Output:
./gem_render_copy
IGT-Version: 1.6-gd71add5 (x86_64) (Linux: 3.15.0-rc3_drm-intel-nightly_f79ba7_20140519+ x86_64)
Test assertion failure function scratch_buf_check, file gem_render_copy.c:117:
Last errno: 0, Success
Failed assertion: val == color
Expected 0xffff00ff, found 0xfff0ff00 at (502,502)

==Reproduce steps==
---------------------------- 
1. ./gem_render_copy
Comment 1 Chris Wilson 2014-05-20 06:24:11 UTC
It's not actually a regression, since it only works by chance ordering of the test suite.
Comment 2 Ben Widawsky 2014-05-28 23:09:13 UTC
Please test:
http://patchwork.freedesktop.org/patch/26784/
Comment 3 Ben Widawsky 2014-05-29 06:34:34 UTC
I changed machines and am no longer seeing this test passing. Please ignore the request to test for now.
Comment 4 Ben Widawsky 2014-06-03 21:57:11 UTC
Please test: IGT patch http://patchwork.freedesktop.org/patch/27088/
Comment 5 Guo Jinxian 2014-06-04 01:36:28 UTC
(In reply to comment #4)
> Please test: IGT patch http://patchwork.freedesktop.org/patch/27088/

Test on latest -nightly(455a8fc4304af51a913e33763b72dd2849c11d0c) use igt with this patch. the result was pass.

Output:
./gem_render_copy
IGT-Version: 1.6-g3c70e6a (x86_64) (Linux: 3.15.0-rc7_drm-intel-nightly_455a8f_20140603+ x86_64)
Comment 6 Jani Nikula 2014-06-04 07:26:34 UTC
Reassigning to Ben because I don't understand any of this stuff. The patch seems to fix it though.
Comment 7 Guo Jinxian 2014-06-12 01:27:37 UTC
Verified on latest -nightly(8148006fc6cc97fea2b792c91c0968a038612355)
Comment 8 Jari Tahvanainen 2017-09-04 10:24:01 UTC
Closing old verified+fixed.

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.