While running kms-all on my BDW NUCi5 there is a regression probably started on 4.15.0-rc1, where basically all suspend and dpms related test either dmesg-warn or fail. Suspend test dmesg-warn with: [ 143.054004] Display power well on [ 143.054032] WARNING: CPU: 3 PID: 3692 at drivers/gpu/drm/i915/intel_display.c:8673 hsw_enable_pc8+0x5e2/0x6b0 [ 143.054034] Modules linked in: x86_pkg_temp_thermal [ 143.054042] CPU: 3 PID: 3692 Comm: kworker/u8:60 Tainted: G W 4.15.0-rc2+ #6 [ 143.054044] Hardware name: /NUC5i5RYB, BIOS RYBDWi35.86A.0365.2017.0704.1050 07/04/2017 [ 143.054048] Workqueue: events_unbound async_run_entry_fn [ 143.054052] task: 00000000aa49c0e9 task.stack: 00000000edfdaa51 [ 143.054058] RIP: 0010:hsw_enable_pc8+0x5e2/0x6b0 [ 143.054060] RSP: 0018:ffff949f01b97d88 EFLAGS: 00010296 [ 143.054064] RAX: 0000000000000015 RBX: ffff8fc8cadf0000 RCX: ffffffff85844c98 [ 143.054066] RDX: ffffffff85844c98 RSI: 0000000000000086 RDI: ffffffff85844c90 [ 143.054068] RBP: ffff8fc8cadf0330 R08: 0000000000000000 R09: 0000000000000015 [ 143.054071] R10: 0000000000000600 R11: 000000000002dd38 R12: ffff8fc8cadf0340 [ 143.054073] R13: ffffffff85634cc3 R14: 0000000000000000 R15: ffffffff856416b5 [ 143.054076] FS: 0000000000000000(0000) GS:ffff8fc8d6d80000(0000) knlGS:0000000000000000 [ 143.054078] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 143.054081] CR2: 000055667e012d80 CR3: 000000011620a006 CR4: 00000000003606e0 [ 143.054082] Call Trace: [ 143.054091] i915_drm_suspend_late+0xea/0x160 [ 143.054097] ? pci_pm_poweroff_late+0x30/0x30 [ 143.054101] dpm_run_callback+0x3a/0x130 [ 143.054105] __device_suspend_late+0xb4/0x1c0 [ 143.054109] async_suspend_late+0x15/0x90 [ 143.054112] async_run_entry_fn+0x2c/0xd0 [ 143.054119] process_one_work+0x1d2/0x3c0 [ 143.054125] worker_thread+0x42/0x3e0 [ 143.054130] kthread+0xf0/0x130 [ 143.054136] ? trace_event_raw_event_workqueue_work+0x80/0x80 [ 143.054140] ? _kthread_create_worker_on_cpu+0x40/0x40 [ 143.054155] ret_from_fork+0x1f/0x30 [ 143.054158] Code: a4 00 00 75 1a 48 c7 c2 dd 4c 63 85 31 f6 48 c7 c7 33 e8 5c 85 e8 4f 68 f7 ff e9 16 fb ff ff 48 c7 c7 dd 4c 63 85 e8 8e ed b6 ff <0f> ff e9 03 fb ff ff 48 c7 c7 8e 4d 63 85 e8 7b ed b6 ff 0f ff [ 143.054211] ---[ end trace a3d782cbd2ed00b0 ]--- dpms tests: (kms_flip:8266) CRITICAL: Test assertion failure function run_test_step, file kms_flip.c:851: (kms_flip:8266) CRITICAL: Failed assertion: igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED) (kms_flip:8266) CRITICAL: Last errno: 4, Interrupted system call Subtest vblank-vs-dpms-rpm-interruptible failed. Note this has not been reproduced on BAT/CI
The issue appear 100% reproducible: for the suspend issue: igt@kms_cursor_crc@cursor-128x128-suspend for the dpms issue: igt@kms_flip@vblank-vs-dpms-rpm is enough. Also reproduce on igt@74407418720ff7a9de7caabec05d4c3afe9a5c51 and drm-tip@12ecfba7559583eb311c862fc1b4766e0df5cfc8
These test are affected by this issue: igt@kms_cursor_crc@cursor-128x128-suspend igt@kms_cursor_crc@cursor-256x256-suspend igt@kms_cursor_crc@cursor-64x64-suspend igt@kms_fbcon_fbt@fbc-suspend igt@kms_flip@vblank-vs-dpms-rpm igt@kms_flip@vblank-vs-dpms-rpm-interruptible igt@kms_flip@vblank-vs-dpms-suspend igt@kms_flip@vblank-vs-dpms-suspend-interruptible igt@kms_flip@vblank-vs-modeset-rpm igt@kms_flip@vblank-vs-modeset-rpm-interruptible igt@kms_flip@vblank-vs-modeset-suspend igt@kms_flip@vblank-vs-modeset-suspend-interruptible igt@kms_flip@vblank-vs-suspend igt@kms_flip@vblank-vs-suspend-interruptible igt@kms_frontbuffer_tracking@fbc-suspend igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes
We will put this machine in BAT.
The issue isn't reproducible after changing display cable and using kernel .config from CI.
Created attachment 136133 [details] diffconfig result from: diffconfig .config.CI .config.old Diff is huge I don't know if it is worth the effort to bisect it.
After changing display cable and using Ci kernel config. I can no longer reproduce this issue.
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.