Bug 57967 - [HSW]I-G-T gem_seqno_wrap fails
Summary: [HSW]I-G-T gem_seqno_wrap fails
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Mika Kuoppala
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-07 05:55 UTC by lu hua
Modified: 2017-10-06 14:47 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
output (16.50 KB, text/plain)
2012-12-07 05:55 UTC, lu hua
no flags Details
i915_error_state (2.11 MB, text/plain)
2012-12-10 06:45 UTC, lu hua
no flags Details

Description lu hua 2012-12-07 05:55:41 UTC
Created attachment 71112 [details]
output

System Environment:
--------------------------
Arch:             x86_64
Platform:         Haswell
Libdrm:	(master)libdrm-2.4.40-3-g0980633afd9c7eecc0c75ef3bea4d3c6b7aa1898
Mesa:	(master)77b26564c3f0395bf3e744abbf6d0e7aa9d2c8da
Xserver:(master)xorg-server-1.13.0-188-gb51a1bd2766e7dc975ca8f1cacc3f8bd0e1a68a3
Xf86_video_intel:(master)2.20.15-8-g0040eb84c9187476a75202ebb251dd74354e4fc7
Cairo:	(master)ba4a4eae051cd932e59e3092ef36d4f6cded0159
Libva:	(staging)38c94cd922473095814ed9a9f99ad98fcc9c285d
Libva_intel_driver:(staging)c0ef9d99df37ae45589fecb898727be495e50304
Kernel:	(drm-intel-nightly) f5cf609370e9560c505faed2dafb06833ec15e11

Bug detailed description:
-------------------------
It fails on haswell with -nightly branch.

commit: f5cf609370e9560c505faed2dafb06833ec15e11(Merge: 92b18fe e548a83)

dmesg:
[  681.440020] [drm:i915_next_seqno_write], Advancing seqno to 2147483583
[  681.440037] [drm:i915_driver_open],
[  681.440049] [drm:intel_crtc_set_config], [CRTC:3] [FB:21] #connectors=1 (x y) (0 0)
[  681.440054] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.440056] [drm:intel_crtc_set_config], [CRTC:5] [NOFB]
[  681.440058] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.440060] [drm:intel_crtc_set_config], [CRTC:7] [NOFB]
[  681.440061] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.440066] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6
[  681.440071] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6
[  681.440076] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6
[  681.440081] [drm:i915_driver_open],
[  681.466648] [drm:intel_crtc_set_config], [CRTC:3] [FB:21] #connectors=1 (x y) (0 0)
[  681.466654] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.466656] [drm:intel_crtc_set_config], [CRTC:5] [NOFB]
[  681.466658] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.466660] [drm:intel_crtc_set_config], [CRTC:7] [NOFB]
[  681.466662] [drm:intel_modeset_stage_output_state], [CONNECTOR:17:HDMI-A-2] to [CRTC:3]
[  681.466666] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6
[  681.466670] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6
[  681.466675] [drm:sandybridge_update_wm], FIFO watermarks For pipe A - plane 9, cursor: 6

Reproduce steps:
----------------------------
1. ./gem_seqno_wrap
Comment 1 Daniel Vetter 2012-12-07 07:58:49 UTC
Yeah, this is expected - I've had to take out the seqno wrap fixes again, but the new test is still there. Assigning to Mika, he's working on the seqno wrap.
Comment 2 Chris Wilson 2012-12-07 08:51:06 UTC
Looks to me like the broken rendercopy.
Comment 3 lu hua 2012-12-10 02:25:49 UTC
It still fails on -queued kernel.
Test on commit 97a19a247c23e286814a5ac7ec0825d0ff82a16c
Comment 4 lu hua 2012-12-10 06:44:42 UTC
On latest -queued kernel(97a19a247c23e286814a5ac7ec0825d0ff82a16c), GPU hung appears in dmesg.
dmesg:
[15103.598332] [drm:i915_next_seqno_write], Advancing seqno to 2147483583
[15103.598358] [drm:i915_driver_open],
[15103.598378] [drm:i915_driver_open],
[15103.795758] [drm:i915_next_seqno_write], Advancing seqno to 4294967238
[15103.795778] [drm:i915_driver_open],
[15103.795791] [drm:i915_driver_open],
[15103.995987] [drm:i915_next_seqno_write], Advancing seqno to 2147483583
[15103.996007] [drm:i915_driver_open],
[15103.996021] [drm:i915_driver_open],
[15104.195000] [drm:i915_next_seqno_write], Advancing seqno to 4294967235
[15104.195025] [drm:i915_driver_open],
[15104.195039] [drm:i915_driver_open],
[15111.717590] [drm:i915_hangcheck_hung] *ERROR* Hangcheck timer elapsed... GPU hung
[15111.717777] [drm:i915_error_work_func], resetting chip
[15111.718025] [drm:gm45_get_vblank_counter], trying to get vblank count for disabled pipe A
[15111.718028] [drm:gm45_get_vblank_counter], trying to get vblank count for disabled pipe B
[15111.718029] [drm:gm45_get_vblank_counter], trying to get vblank count for disabled pipe C
Comment 5 lu hua 2012-12-10 06:45:42 UTC
Created attachment 71252 [details]
i915_error_state
Comment 6 Daniel Vetter 2012-12-11 13:07:42 UTC
Ok, just applied the latest version of Mika/Chris' patches to dinq, please retest.
Comment 7 Chris Wilson 2012-12-11 21:45:30 UTC
commit f72b3435c1a75406d82d6e252bb78f009efd4bd9
Author: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Date:   Mon Dec 10 15:41:48 2012 +0200

    drm/i915: Don't emit semaphore wait if wrap happened
    
    If wrap just happened we need to prevent emitting waits for
    pre wrap values. Detect this and emit no-ops instead.
    
    v2: Use olr > seqno to detect wrap instead of *seqno == 0
    as suggested by Chris Wilson.
    
    v3: Use last used seqno to detect the wraparound. From
    Chris Wilson
    
    v4: Fixed unnecessary last_seqno assigment
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=57967
    Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Comment 8 lu hua 2012-12-12 05:14:41 UTC
Verified. Fixed by commit f72b3435c1a75406d82d6e252bb78f009efd4bd9.
Comment 9 Elizabeth 2017-10-06 14:47:29 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.