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
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.
Looks to me like the broken rendercopy.
It still fails on -queued kernel. Test on commit 97a19a247c23e286814a5ac7ec0825d0ff82a16c
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
Created attachment 71252 [details] i915_error_state
Ok, just applied the latest version of Mika/Chris' patches to dinq, please retest.
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>
Verified. Fixed by commit f72b3435c1a75406d82d6e252bb78f009efd4bd9.
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.