Bug 79058

Summary: [HSW Regression]igt/gem_reset_stats/ban-render fails
Product: DRI Reporter: Guo Jinxian <jinxianx.guo>
Component: DRM/IntelAssignee: Paulo Zanoni <przanoni>
Status: CLOSED WORKSFORME QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: highest CC: intel-gfx-bugs, przanoni, yi.sun
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
dmesg none

Description Guo Jinxian 2014-05-22 06:39:41 UTC
Created attachment 99559 [details]
dmesg

==System Environment==
--------------------------
Regression: Yes. 
Here has another Bug 78685 before

Non-working platforms: HSW

==kernel==
--------------------------
-nightly: f5b0cca269ca3f7062f8d3441cebe6a16ce12be4(fails)
-queued: e6a7e5d0fd778bc6cf295414b9937723091c9bb6(fails)
    Author: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Date:   Wed May 21 17:29:31 2014 -0300

    drm/i915: grab the audio power domain when enabling audio on HSW+

    With the current code, we unconditionally touch
    HSW_AUD_PIN_ELD_CP_VLD, which means we can touch it when the power
    well is off, and that will trigger an "Unclaimed register" message.

    Just adding the intel_crtc->config.has_audio should already avoid the
    unclaimed register messsages, but since we actually need the power
    well to make the Audio code work, it makes sense to also grab the
    audio power domain reference, and release it when it's not needed
    anymore.

    I used IGT's pm_rpm to reproduce this bug, but it can probably be
    reproduced on other tests that do modesets. I'm using a machine with
    eDP+HDMI connected.

    Regression introduced by:

    commit acfa75b02e72bad7c93564ac379712e29c001432
    Author: Daniel Vetter <daniel.vetter@ffwll.ch>
    Date:   Thu Apr 24 23:54:51 2014 +0200
        drm/i915: Simplify audio handling on DDI ports

    Credits to Daniel for suggesting this implementation.

    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
    
-fixes: f93e94efebbe0b9ad5048076f171ea2b054ca4fb(fails)
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Wed May 21 12:42:56 2014 +0100

    drm/i915: Fix dynamic allocation of physical handles

    A single object may be referenced by multiple registers fundamentally
    breaking the static allotment of ids in the current design. When the
    object is used the second time, the physical address of the first
    assignment is relinquished and a second one granted. However, the
    hardware is still reading (and possibly writing) to the old physical
    address now returned to the system. Eventually hilarity will ensue, but
    in the short term, it just means that cursors are broken when using more
    than one pipe.

    v2: Fix up leak of pci handle when handling an error during attachment,
    and avoid a double kmap/kunmap. (Ville)
    Rebase against -fixes.

    v3: And fix the error handling added in v2 (Ville)

    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77351
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Jani Nikula <jani.nikula@linux.intel.com>
    Cc: stable@vger.kernel.org
    Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>


==Bug detailed description==
-----------------------------
igt/gem_reset_stats/ban-render fails

Output:
./gem_reset_stats --run-subtest ban-render
IGT-Version: 1.6-gc75dcbd (x86_64) (Linux: 3.15.0-rc5_drm-intel-fixes_f93e94_20140522+ x86_64)
retrying for ban (9)
retrying for ban (8)
retrying for ban (7)
retrying for ban (6)
retrying for ban (5)
retrying for ban (4)
retrying for ban (3)
retrying for ban (2)
retrying for ban (1)
retrying for ban (0)
Test assertion failure function test_ban, file gem_reset_stats.c:572:
Last errno: 0, Success
Failed assertion: h4 == -EIO
Subtest ban-render: FAIL


==Reproduce steps==
---------------------------- 
1. ./gem_reset_stats --run-subtest ban-render
Comment 1 Paulo Zanoni 2014-06-23 15:14:59 UTC
If this is a regression, did we bisect it? Which one is the bad commit?
Comment 2 Guo Jinxian 2014-06-25 09:31:34 UTC
The test was pass on latest -next-queued(9c33baa6b3bbb01c1a88dceba986b20e6642cf31), and the bad commit was pass too.
Output:
[root@x-hsw27 tests]# ./gem_reset_stats --run-subtest ban-render
IGT-Version: 1.7-gfedb9b6 (x86_64) (Linux: 3.15.0-rc8_drm-intel-next-queued_9c33ba_20140625+ x86_64)
Subtest ban-render: SUCCESS
Comment 3 Guo Jinxian 2014-07-02 05:54:56 UTC
This bug unable to reproduce on latest -nightly(a7665faa31dbbbae25e376508a9b3781e25d09e2). Maybe we can close it.

Output:
[root@x-hsw24 tests]# ./gem_reset_stats --run-subtest ban-render
IGT-Version: 1.7-g67e29a3 (x86_64) (Linux: 3.16.0-rc2_drm-intel-nightly_a7665f_20140701+ x86_64)
Subtest ban-render: SUCCESS
Comment 4 Jani Nikula 2014-07-02 09:55:30 UTC
(In reply to comment #3)
> This bug unable to reproduce on latest
> -nightly(a7665faa31dbbbae25e376508a9b3781e25d09e2). Maybe we can close it.

Ok, closing, please reopen if the problem reappears. Thanks.
Comment 5 Guo Jinxian 2014-07-15 08:16:58 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > This bug unable to reproduce on latest
> > -nightly(a7665faa31dbbbae25e376508a9b3781e25d09e2). Maybe we can close it.
> 
> Ok, closing, please reopen if the problem reappears. Thanks.

Verified on latest -nightly(2a38e1bcd4dc9523cd723291340226d139bece1b)
Comment 6 Jari Tahvanainen 2016-10-19 09:28:42 UTC
Closing verified+worksforme.

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.