drm/i915: Reset CSB read pointer when enabling contexts
Subsystems (2)
PATCH 1/1 drm/i915: Reset CSB read pointer when enabling contexts
During a suspend/resume cycle the hardware Context Status Buffer write pointer is reset. However since recent changes to the init sequence the software CSB read pointer is no longer reset. This means that context status events are not handled correctly and new contexts are not written to the ELSP, resulting in an apparent GPU hang.
Pending further changes to the ring init code, just move the ring->next_context_status_buffer initialization into i915_gem_context_enable to fix this regression.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88097
--- drivers/gpu/drm/i915/i915_gem_context.c | 1 + drivers/gpu/drm/i915/intel_lrc.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/i915/i915_gem_context.c +1 -0
@@ -412,6 +412,7 @@ int i915_gem_context_enable(struct drm_i915_private *dev_priv)if (i915.enable_execlists) {for_each_ring (ring, dev_priv, i) { + ring->next_context_status_buffer =0 ;if (ring->init_context) { ret = ring->init_context (ring, ring->default_context);
drivers/gpu/drm/i915/intel_lrc.c +0 -1
@@ -1394,7 +1394,6 @@ static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rinINIT_LIST_HEAD (&ring->execlist_queue);INIT_LIST_HEAD (&ring->execlist_retired_req_list);spin_lock_init (&ring->execlist_lock); - ring->next_context_status_buffer =0 ; ret =i915_cmd_parser_init_ring (ring);if (ret)
Signature · 6 lines
1.7.9.5 _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 11 lines · Thomas Daniel
During a suspend/resume cycle the hardware Context Status Buffer write pointer is reset. However since recent changes to the init sequence the software CSB read pointer is no longer reset. This means that context status events are not handled correctly and new contexts are not written to the ELSP, resulting in an apparent GPU hang.
Pending further changes to the ring init code, just move the
ring->next_context_status_bufferinitialization intoi915_gem_context_enableto fix this regression.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88097
Please cite the commit which introduced this regression (plus since it's just the switch of defaults) also the commit which broke the execlist code. And then add all the relevant ppl to the cc list of this patch.
Quoted 12 lines
Cc Paulo Zanoni <[email protected]>Signed-off-by Thomas Daniel <[email protected]>--- drivers/gpu/drm/i915/i915_gem_context.c | 1 + drivers/gpu/drm/i915/intel_lrc.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)drivers/gpu/drm/i915/i915_gem_context.c +0
-0
drivers/gpu/drm/i915/i915_gem_context.c int i915_gem_context_enable(struct drm_i915_private *dev_priv) · line 415
Quoted 4 lines
drivers/gpu/drm/i915/i915_gem_context.c +1
-0@@ -412,6 +412,7 @@ int i915_gem_context_enable(struct drm_i915_private *dev_priv)if (i915.enable_execlists) {for_each_ring (ring, dev_priv, i) { + ring->next_context_status_buffer =0 ;
Hm, shouldn't we instead move this to the ring->init_hw callback instead? That was the split which broke things here after all, and imo it makes more sense. Otherwise someone might reorder the setup sequence a bit and get confused when the engine is enabled already but the sw side still has bogus state ...
Thanks, Daniel
Quoted 22 lines
drivers/gpu/drm/i915/i915_gem_context.c +0
-0if (ring->init_context) { ret = ring->init_context (ring, ring->default_context);drivers/gpu/drm/i915/intel_lrc.c +0
-1@@ -1394,7 +1394,6 @@ static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rinINIT_LIST_HEAD (&ring->execlist_queue);INIT_LIST_HEAD (&ring->execlist_retired_req_list);spin_lock_init (&ring->execlist_lock); - ring->next_context_status_buffer =0 ; ret =i915_cmd_parser_init_ring (ring);if (ret)Signature · 6 lines
1.7.9.5 _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 7 lines
Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV -23 363/364 340/364 ILK -30 364/366 334/366 SNB +4-56 443/450 391/450 IVB -36 496/498 460/498 BYT 288/289 288/289 HSW +11-36 542/564 517/564 BDW -25 415/417 390/417 -------------------------------------Detailed------------------------------------- Platform Test drm-intel-nightly Series Applied PNV igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) PNV igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(2, M23M25)PASS(1, M25) NSPT(1, M25) ILK igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M26)PASS(1, M37) NSPT(1, M26) ILK igt_kms_flip_nonexisting-fb DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_rcs-flip-vs-panning-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_rcs-wf_vblank-vs-dpms-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_render_direct-render DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_bcs-flip-vs-modeset-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_blocking-absolute-wf_vblank-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_busy-flip-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_flip-vs-dpms-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_flip-vs-panning DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_flip-vs-rmfb-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_plain-flip-fb-recreate-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_plain-flip-ts-check-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_rcs-flip-vs-dpms DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_rcs-flip-vs-modeset DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_rcs-flip-vs-panning DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_vblank-vs-hang DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_wf_vblank-ts-check DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) ILK igt_kms_flip_wf_vblank-vs-modeset-interruptible DMESG_WARN(3, M26)PASS(1, M37) DMESG_WARN(1, M26) SNB igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(2, M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_cursor_crc_cursor-size-change NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_flip_dpms-vs-vblank-race DMESG_WARN(3, M35M22)PASS(2, M35M22) PASS(1, M22) SNB igt_kms_flip_dpms-vs-vblank-race-interruptible DMESG_WARN(2, M35M22)PASS(3, M35M22) PASS(1, M22) SNB igt_kms_flip_event_leak NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_flip_modeset-vs-vblank-race DMESG_WARN(4, M35M22)PASS(2, M35M22) PASS(1, M22) SNB igt_kms_mmio_vs_cs_flip_setcrtc_vs_cs_flip NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_mmio_vs_cs_flip_setplane_vs_cs_flip NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_plane_plane-position-hole-pipe-B-plane-1 DMESG_WARN(1, M35)PASS(6, M35M22) PASS(1, M22) SNB igt_kms_rotation_crc_primary-rotation NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_kms_rotation_crc_sprite-rotation NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_cursor NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_cursor-dpms NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_dpms-mode-unset-non-lpsp NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_dpms-non-lpsp NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_drm-resources-equal NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_fences NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_fences-dpms NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_gem-execbuf NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_gem-mmap-cpu NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_gem-mmap-gtt NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_gem-pread NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_i2c NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_modeset-non-lpsp NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_modeset-non-lpsp-stress-no-wait NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_pci-d3-state NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) SNB igt_pm_rpm_rte NSPT(2, M35M22)PASS(1, M35) NSPT(1, M22) IVB igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(2, M21M34)PASS(1, M34) NSPT(1, M34) HSW igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-early-read-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(2, M19M20)PASS(1, M40) NSPT(1, M20) HSW igt_kms_flip_dpms-vs-vblank-race DMESG_WARN(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_dpms-vs-vblank-race-interruptible DMESG_WARN(2, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_flip-vs-dpms-off-vs-modeset DMESG_WARN(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_flip-vs-dpms-off-vs-modeset-interruptible DMESG_WARN(2, M40M19)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_modeset-vs-vblank-race DMESG_WARN(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_modeset-vs-vblank-race-interruptible DMESG_WARN(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_flip_single-buffer-flip-vs-dpms-off-vs-modeset-interruptible DMESG_WARN(2, M40)PASS(3, M19M20) PASS(1, M20) HSW igt_kms_plane_plane-panning-bottom-right-pipe-B-plane-1 TIMEOUT(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_plane_plane-panning-bottom-right-pipe-B-plane-2 TIMEOUT(1, M40)PASS(2, M19M20) PASS(1, M20) HSW igt_kms_plane_plane-panning-bottom-right-pipe-C-plane-1 TIMEOUT(3, M40)PASS(4, M19M40M20) PASS(1, M20) HSW igt_pm_rpm_modeset-non-lpsp-stress-no-wait NSPT(2, M19)DMESG_WARN(1, M40)PASS(4, M40M20) PASS(1, M20) BDW igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(2, M28M30)PASS(1, M30) NSPT(1, M30) *BDW igt_gem_multi_bsd_sync_loop PASS(3, M30M28) DMESG_WARN(1, M30)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list [email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 11 lines · Thomas Daniel
During a suspend/resume cycle the hardware Context Status Buffer write pointer is reset. However since recent changes to the init sequence the software CSB read pointer is no longer reset. This means that context status events are not handled correctly and new contexts are not written to the ELSP, resulting in an apparent GPU hang.
Pending further changes to the ring init code, just move the
ring->next_context_status_bufferinitialization intoi915_gem_context_enableto fix this regression.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88097
There's also
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88096
Can you please take a look at that one too?
-Daniel
Quoted 38 lines
Cc Paulo Zanoni <[email protected]>Signed-off-by Thomas Daniel <[email protected]>--- drivers/gpu/drm/i915/i915_gem_context.c | 1 + drivers/gpu/drm/i915/intel_lrc.c | 1 - 2 files changed, 1 insertion(+), 1 deletion(-)drivers/gpu/drm/i915/i915_gem_context.c +1
-0@@ -412,6 +412,7 @@ int i915_gem_context_enable(struct drm_i915_private *dev_priv)if (i915.enable_execlists) {for_each_ring (ring, dev_priv, i) { + ring->next_context_status_buffer =0 ;if (ring->init_context) { ret = ring->init_context (ring, ring->default_context);drivers/gpu/drm/i915/intel_lrc.c +0
-1@@ -1394,7 +1394,6 @@ static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rinINIT_LIST_HEAD (&ring->execlist_queue);INIT_LIST_HEAD (&ring->execlist_retired_req_list);spin_lock_init (&ring->execlist_lock); - ring->next_context_status_buffer =0 ; ret =i915_cmd_parser_init_ring (ring);if (ret)Signature · 6 lines
1.7.9.5 _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 7 lines
Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
PATCH v2 1/1 drm/i915: Reset CSB read pointer in ring init
In reply to Thomas DanielA previous commit enabled execlists by default:
commit 27401d126b5b ("drm/i915/bdw: Enable execlists by default where supported")
This allowed routine testing of execlists which exposed a regression when resuming from suspend. The cause was tracked down the to recent changes to the ring init sequence:
commit 35a57ffbb108 ("drm/i915: Only init engines once")During a suspend/resume cycle the hardware Context Status Buffer write pointer is reset. However since the recent changes to the init sequence the software CSB read pointer is no longer reset. This means that context status events are not handled correctly and new contexts are not written to the ELSP, resulting in an apparent GPU hang.
Pending further changes to the ring init code, just move the ring->next_context_status_buffer initialization into gen8_init_common_ring to fix this regression.
v2: Moved init into gen8_init_common_ring rather than context_enable after feedback from Daniel Vetter. Updated commit msg to reflect this and also cite commits related to the regression. Fixed bz link to correct bug.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88096
--- drivers/gpu/drm/i915/intel_lrc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/i915/intel_lrc.c +1 -1
@@ -1137,6 +1137,7 @@ static int gen8_init_common_ring(struct intel_engine_cs *ring)_MASKED_BIT_DISABLE (GFX_REPLAY_MODE ) | _MASKED_BIT_ENABLE(GFX_RUN_LIST_ENABLE));POSTING_READ (RING_MODE_GEN7 (ring)); + ring->next_context_status_buffer =0 ;DRM_DEBUG_DRIVER ("Execlists enabled for %s\n" , ring->name);memset (&ring->hangcheck,0 ,sizeof (ring->hangcheck));
@@ -1394,7 +1395,6 @@ static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rinINIT_LIST_HEAD (&ring->execlist_queue);INIT_LIST_HEAD (&ring->execlist_retired_req_list);spin_lock_init (&ring->execlist_lock); - ring->next_context_status_buffer =0 ; ret =i915_cmd_parser_init_ring (ring);if (ret)
Signature · 6 lines
1.7.9.5 _______________________________________________ Intel-gfx mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH v2] drm/i915: Reset CSB read pointer in ring init
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV -31 363/364 332/364 ILK -20 364/366 344/366 SNB +4-65 443/450 382/450 IVB -44 496/498 452/498 BYT -8 288/289 280/289 HSW +5-46 542/564 501/564 BDW -33 415/417 382/417 -------------------------------------Detailed------------------------------------- Platform Test drm-intel-nightly Series Applied PNV igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(7, M23M25)PASS(1, M25) NSPT(1, M23) PNV igt_gem_pread_after_blit_interruptible NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_interruptible-display NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_normal NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_normal-display NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_normal-snoop NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) PNV igt_gem_pread_after_blit_normal-uncached NRUN(2, M23M25)PASS(1, M25) NRUN(1, M23) ILK igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(7, M26M37)PASS(1, M37) NSPT(1, M37) ILK igt_gem_pread_after_blit_interruptible NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_interruptible-display NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_normal NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_normal-display NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_normal-snoop NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) ILK igt_gem_pread_after_blit_normal-uncached NRUN(2, M26M37)PASS(1, M37) NRUN(1, M37) SNB igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(7, M22M35)PASS(1, M35) NSPT(1, M35) SNB igt_gem_pread_after_blit_interruptible NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_interruptible-display NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_interruptible-snoop NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_interruptible-uncached NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_normal NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_normal-display NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_normal-snoop NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_gem_pread_after_blit_normal-uncached NRUN(3, M22M35)PASS(1, M35) NRUN(1, M35) SNB igt_kms_cursor_crc_cursor-size-change NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_kms_flip_dpms-vs-vblank-race DMESG_WARN(3, M35M22)PASS(6, M35M22) PASS(1, M35) SNB igt_kms_flip_dpms-vs-vblank-race-interruptible DMESG_WARN(2, M35M22)PASS(7, M35M22) PASS(1, M35) SNB igt_kms_flip_event_leak NSPT(5, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_kms_flip_modeset-vs-vblank-race DMESG_WARN(4, M35M22)PASS(6, M35M22) PASS(1, M35) *SNB igt_kms_flip_nonexisting-fb PASS(2, M35) NSPT(1, M35) SNB igt_kms_mmio_vs_cs_flip_setcrtc_vs_cs_flip NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_kms_mmio_vs_cs_flip_setplane_vs_cs_flip NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_kms_plane_plane-position-hole-pipe-B-plane-1 DMESG_WARN(1, M35)PASS(10, M35M22) PASS(1, M35) SNB igt_kms_rotation_crc_primary-rotation NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_kms_rotation_crc_sprite-rotation NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_cursor NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_cursor-dpms NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_dpms-mode-unset-non-lpsp NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_dpms-non-lpsp NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_drm-resources-equal NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_fences NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_fences-dpms NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_gem-execbuf NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_gem-mmap-cpu NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_gem-mmap-gtt NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_gem-pread NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_i2c NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_modeset-non-lpsp NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_modeset-non-lpsp-stress-no-wait NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_pci-d3-state NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) SNB igt_pm_rpm_rte NSPT(6, M35M22)PASS(1, M35) NSPT(1, M35) IVB igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) IVB igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(7, M21M34M4)PASS(1, M34) NSPT(1, M34) *IVB igt_gem_pread_after_blit_interruptible NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_interruptible-display NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_normal NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_normal-display NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_normal-snoop NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *IVB igt_gem_pread_after_blit_normal-uncached NRUN(2, M21M4)PASS(1, M34) NRUN(1, M34) *BYT igt_gem_pread_after_blit_interruptible NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_interruptible-display NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_normal NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_normal-display NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_normal-snoop NRUN(2, M51)PASS(1, M48) NRUN(1, M48) *BYT igt_gem_pread_after_blit_normal-uncached NRUN(2, M51)PASS(1, M48) NRUN(1, M48) HSW igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-early-read-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-early-read-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-forked NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) HSW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(6, M19M20M40)PASS(1, M40) NSPT(1, M40) *HSW igt_gem_pread_after_blit_interruptible NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_interruptible-display NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_normal NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_normal-display NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_normal-snoop NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_gem_pread_after_blit_normal-uncached NRUN(2, M19)PASS(1, M40) NRUN(1, M40) *HSW igt_kms_flip_flip-vs-dpms-off-vs-modeset DMESG_WARN(1, M40)PASS(5, M19M20) PASS(1, M40) *HSW igt_kms_flip_flip-vs-dpms-off-vs-modeset-interruptible DMESG_WARN(2, M40M19)PASS(5, M19M20) PASS(1, M40) *HSW igt_kms_flip_single-buffer-flip-vs-dpms-off-vs-modeset-interruptible DMESG_WARN(2, M40)PASS(6, M19M20) PASS(1, M40) HSW igt_kms_plane_plane-panning-bottom-right-pipe-C-plane-1 TIMEOUT(3, M40)PASS(7, M19M40M20) PASS(1, M40) *HSW igt_kms_plane_plane-panning-top-left-pipe-A-plane-2 PASS(1, M40) TIMEOUT(1, M40) *HSW igt_kms_plane_plane-panning-top-left-pipe-B-plane-1 PASS(1, M40) DMESG_FAIL(1, M40) HSW igt_pm_rpm_modeset-non-lpsp-stress-no-wait NSPT(4, M19)DMESG_WARN(1, M40)PASS(5, M40M20) PASS(1, M40) BDW igt_gem_concurrent_blit_gpu-bcs-early-read NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-early-read-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-gpu-read-after-write-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-overwrite-source NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-bcs-overwrite-source-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-early-read NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-early-read-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-gpu-read-after-write-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-overwrite-source NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpu-rcs-overwrite-source-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-early-read NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-early-read-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-gpu-read-after-write-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-bcs-overwrite-source-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-early-read NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-early-read-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-gpu-read-after-write-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_concurrent_blit_gpuX-rcs-overwrite-source-interruptible NSPT(7, M28M30)PASS(1, M30) NSPT(1, M30) BDW igt_gem_pread_after_blit_interruptible NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_interruptible-display NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_interruptible-snoop NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_interruptible-uncached NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_normal NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_normal-display NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_normal-snoop NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) BDW igt_gem_pread_after_blit_normal-uncached NRUN(2, M28M30)PASS(1, M30) NRUN(1, M30) *BDW igt_gem_multi_bsd_sync_loop PASS(6, M30M28) DMESG_WARN(1, M30)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list [email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: [PATCH v2] drm/i915: Reset CSB read pointer in ring init
In reply to Thomas DanielQuoted 47 lines · Thomas
A previous commit enabled execlists by default:
commit
27401d126b5b("drm/i915/bdw: Enable execlists by default where supported")This allowed routine testing of execlists which exposed a regression when resuming from suspend. The cause was tracked down the to recent changes to the ring init sequence:
commit 35a57ffbb108 ("drm/i915: Only init engines once")During a suspend/resume cycle the hardware Context Status Buffer write pointer is reset. However since the recent changes to the init sequence the software CSB read pointer is no longer reset. This means that context status events are not handled correctly and new contexts are not written to the ELSP, resulting in an apparent GPU hang.
Pending further changes to the ring init code, just move the
ring->next_context_status_bufferinitialization intogen8_init_common_ringto fix this regression.v2: Moved init into
gen8_init_common_ringrather thancontext_enableafter feedback from Daniel Vetter. Updated commit msg to reflect this and also cite commits related to the regression. Fixed bz link to correct bug.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88096
Cc Paulo Zanoni <[email protected]>Cc Daniel Vetter <[email protected]>Cc Dave Gordon <[email protected]>Signed-off-by Thomas Daniel <[email protected]>--- drivers/gpu/drm/i915/intel_lrc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/gpu/drm/i915/intel_lrc.c +1
-0@@ -1137,6 +1137,7 @@ static int gen8_init_common_ring(struct intel_engine_cs *ring)_MASKED_BIT_DISABLE (GFX_REPLAY_MODE ) | _MASKED_BIT_ENABLE(GFX_RUN_LIST_ENABLE));POSTING_READ (RING_MODE_GEN7 (ring)); + ring->next_context_status_buffer =0 ;DRM_DEBUG_DRIVER ("Execlists enabled for %s\n" , ring->name);memset (&ring->hangcheck,0 ,sizeof (ring->hangcheck));
drivers/gpu/drm/i915/intel_lrc.c static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rin · line 1400
Quoted 7 lines
drivers/gpu/drm/i915/intel_lrc.c +0
-1@@ -1394,7 +1395,6 @@ static int logical_ring_init(struct drm_device *dev, struct intel_engine_cs *rinINIT_LIST_HEAD (&ring->execlist_queue);INIT_LIST_HEAD (&ring->execlist_retired_req_list);spin_lock_init (&ring->execlist_lock); - ring->next_context_status_buffer =0 ; ret =i915_cmd_parser_init_ring (ring);if (ret)
LGTM.
_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx