On the Kaby Lake laptop TUXEDO Book BU1406 with Ubuntu 16.04, and Linux 4.10-rc6+, AnalyzeSuspend v4.5 shows that the i915 module takes 46 ms to resume. ``` i915 @ 0000:00:02.0 {i915} async_device (Total Suspend: 35.237 ms Total Resume: 46.429 ms) ``` To improve the user experience, and keeping in mind that most firmware takes quite long already, it’s essential to optimize each component. 10 ms are used solely in the “resume early” phase. Could this phase be moved into the “resume” phase? Are there other ways to optimize the resume? PS: I know, other components take much longer, and I’ll report these too. But every component needs to be optimized to compete with Apple macOS on Apple devices. ``` # suspend-013117-192126 helmuth-N24-25BU mem 4.10.0-rc6+ # fwsuspend 0 fwresume 1272626 [ 3546.667116] PM: Syncing filesystems ... done. [ 3546.671334] PM: Preparing system for sleep (mem) [ 3546.673034] Freezing user space processes ... (elapsed 0.002 seconds) done. [ 3546.675386] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done. [ 3546.676722] PM: Suspending system (mem) [ 3546.676809] Suspending console(s) (use no_console_suspend to debug) [ 3546.678548] calling rfkill1+ @ 4446, parent: phy0 [ 3546.678554] call rfkill1+ returned 0 after 3 usecs [ 3546.678562] calling phy0-led+ @ 4446, parent: 0000:02:00.0 [ 3546.678566] call phy0-led+ returned 0 after 2 usecs [ 3546.678572] calling phy0+ @ 4450, parent: 0000:02:00.0 [ 3546.678574] calling input20+ @ 4446, parent: 1-6:1.0 [ 3546.678579] call input20+ returned 0 after 2 usecs [ 3546.678583] calling rfkill0+ @ 4446, parent: hci0 [ 3546.678587] wlp2s0: deauthenticating from 6c:f3:7f:10:ae:10 by local choice (Reason: 3=DEAUTH_LEAVING) [ 3546.678589] call rfkill0+ returned 0 after 1 usecs [ 3546.678603] calling coretemp.0+ @ 4446, parent: platform [ 3546.678607] call coretemp.0+ returned 0 after 2 usecs [ 3546.678611] calling input19+ @ 4446, parent: card0 [ 3546.678614] call input19+ returned 0 after 1 usecs [ 3546.678617] calling input18+ @ 4446, parent: card0 [ 3546.678620] call input18+ returned 0 after 1 usecs [ 3546.678623] calling input17+ @ 4446, parent: card0 [ 3546.678625] call input17+ returned 0 after 1 usecs [ 3546.678628] calling input16+ @ 4446, parent: card0 [ 3546.678631] call input16+ returned 0 after 1 usecs [ 3546.678634] calling input15+ @ 4446, parent: card0 [ 3546.678636] call input15+ returned 0 after 1 usecs [ 3546.678654] calling snd-soc-dummy+ @ 4446, parent: platform [ 3546.678657] call snd-soc-dummy+ returned 0 after 1 usecs [ 3546.678660] calling input4::scrolllock+ @ 4446, parent: input4 [ 3546.678664] call input4::scrolllock+ returned 0 after 1 usecs [ 3546.678667] calling hdaudioC0D2+ @ 4331, parent: 0000:00:1f.3 [ 3546.678669] calling hdaudioC0D0+ @ 3660, parent: 0000:00:1f.3 [ 3546.678671] calling input4::capslock+ @ 4446, parent: input4 [ 3546.678674] call input4::capslock+ returned 0 after 1 usecs [ 3546.678677] call hdaudioC0D0+ returned 0 after 4 usecs [ 3546.678678] call hdaudioC0D2+ returned 0 after 6 usecs [ 3546.678680] calling input4::numlock+ @ 4446, parent: input4 [ 3546.678684] call input4::numlock+ returned 0 after 1 usecs [ 3546.678699] calling regulatory.0+ @ 4446, parent: platform [ 3546.678703] call regulatory.0+ returned 0 after 1 usecs [ 3546.678708] calling tuxedo::airplane+ @ 4446, parent: tuxedo_wmi [ 3546.678711] call tuxedo::airplane+ returned 0 after 1 usecs [ 3546.678714] calling input14+ @ 4446, parent: tuxedo_wmi [ 3546.678717] call input14+ returned 0 after 2 usecs [ 3546.678720] calling tuxedo_wmi+ @ 4446, parent: platform [ 3546.678723] call tuxedo_wmi+ returned 0 after 1 usecs [ 3546.678729] calling input11+ @ 4446, parent: serio2 [ 3546.678732] call input11+ returned 0 after 1 usecs [ 3546.678775] calling 1-6+ @ 4331, parent: usb1 [ 3546.678782] call 1-6+ returned 0 after 4 usecs [ 3546.678790] calling input10+ @ 4446, parent: LNXVIDEO:00 [ 3546.678796] calling 1-5+ @ 3660, parent: usb1 [ 3546.678799] call input10+ returned 0 after 3 usecs [ 3546.678869] calling intel_backlight+ @ 4446, parent: card0-eDP-1 [ 3546.678876] call intel_backlight+ returned 0 after 3 usecs [ 3546.678897] calling rtsx_pci_ms.0+ @ 4446, parent: 0000:03:00.0 [ 3546.678964] call rtsx_pci_ms.0+ returned 0 after 63 usecs [ 3546.678968] calling rtsx_pci_sdmmc.0+ @ 4446, parent: 0000:03:00.0 [ 3546.678972] call rtsx_pci_sdmmc.0+ returned 0 after 2 usecs [ 3546.678995] calling host1+ @ 3553, parent: ata2 [ 3546.679001] call host1+ returned 0 after 4 usecs [ 3546.679005] calling host0+ @ 4451, parent: ata1 [ 3546.679009] calling ata2+ @ 3553, parent: 0000:00:17.0 [ 3546.679012] calling microcode+ @ 4446, parent: platform [ 3546.679013] call host0+ returned 0 after 5 usecs [ 3546.679017] call microcode+ returned 0 after 3 usecs [ 3546.679020] calling ata1+ @ 4451, parent: 0000:00:17.0 [ 3546.679031] calling input4+ @ 4446, parent: serio0 [ 3546.679036] call input4+ returned 0 after 3 usecs [ 3546.679041] calling rtc0+ @ 4446, parent: 00:01 [ 3546.679043] call ata2+ returned 0 after 30 usecs [ 3546.679045] call rtc0+ returned 0 after 2 usecs [ 3546.679055] calling serio4+ @ 4446, parent: i8042 [ 3546.679059] call serio4+ returned 0 after 2 usecs [ 3546.679062] calling serio3+ @ 4446, parent: i8042 [ 3546.679064] call serio3+ returned 0 after 1 usecs [ 3546.679067] calling serio2+ @ 4446, parent: i8042 [ 3546.679822] call ata1+ returned 0 after 779 usecs [ 3546.703048] call phy0+ returned 0 after 23896 usecs [ 3546.721151] call serio2+ returned 0 after 41091 usecs [ 3546.721160] calling serio1+ @ 4446, parent: i8042 [ 3546.721165] call serio1+ returned 0 after 3 usecs [ 3546.721168] calling serio0+ @ 4446, parent: i8042 [ 3546.721712] call serio0+ returned 0 after 525 usecs [ 3546.721722] calling i8042+ @ 4446, parent: platform [ 3547.265137] call i8042+ returned 0 after 530679 usecs [ 3547.265157] calling Fixed MDIO bus.0+ @ 4446, parent: platform [ 3547.265158] call Fixed MDIO bus.0+ returned 0 after 0 usecs [ 3547.265193] calling usb3+ @ 3553, parent: 0000:01:00.0 [ 3547.265196] calling serial8250+ @ 4446, parent: platform [ 3547.265197] call serial8250+ returned 0 after 1 usecs [ 3547.265201] calling input3+ @ 4446, parent: LNXPWRBN:00 [ 3547.265203] call input3+ returned 0 after 0 usecs [ 3547.265204] calling input2+ @ 4446, parent: PNP0C0D:00 [ 3547.265205] call input2+ returned 0 after 0 usecs [ 3547.265206] calling input1+ @ 4446, parent: PNP0C0E:00 [ 3547.265207] call input1+ returned 0 after 0 usecs [ 3547.265207] calling usb4+ @ 4331, parent: 0000:01:00.0 [ 3547.265208] calling input0+ @ 4446, parent: PNP0C0C:00 [ 3547.265209] call input0+ returned 0 after 0 usecs [ 3547.265217] calling alarmtimer+ @ 4446, parent: platform [ 3547.265219] call alarmtimer+ returned 0 after 0 usecs [ 3547.265220] calling usb2+ @ 4451, parent: 0000:00:14.0 [ 3547.265221] calling platform-framebuffer.0+ @ 4446, parent: platform [ 3547.265222] call platform-framebuffer.0+ returned 0 after 0 usecs [ 3547.265223] calling pcspkr+ @ 4446, parent: platform [ 3547.265223] call pcspkr+ returned 0 after 0 usecs [ 3547.265248] calling 00:08+ @ 4446, parent: pnp0 [ 3547.265249] call 00:08+ returned 0 after 0 usecs [ 3547.265250] calling 00:07+ @ 4446, parent: pnp0 [ 3547.265250] call 00:07+ returned 0 after 0 usecs [ 3547.265251] calling 00:06+ @ 4446, parent: pnp0 [ 3547.265252] call 00:06+ returned 0 after 0 usecs [ 3547.265252] calling 00:05+ @ 4446, parent: pnp0 [ 3547.265253] call 00:05+ returned 0 after 0 usecs [ 3547.265254] calling 00:04+ @ 4446, parent: pnp0 [ 3547.265255] call 00:04+ returned 0 after 0 usecs [ 3547.265255] calling 00:03+ @ 4446, parent: pnp0 [ 3547.265256] call 00:03+ returned 0 after 0 usecs [ 3547.265256] calling 00:02+ @ 4446, parent: pnp0 [ 3547.265257] call 00:02+ returned 0 after 0 usecs [ 3547.265258] calling 00:01+ @ 4446, parent: pnp0 [ 3547.265266] call usb2+ returned 0 after 44 usecs [ 3547.265320] call 00:01+ returned 0 after 60 usecs [ 3547.265321] calling 00:00+ @ 4446, parent: pnp0 [ 3547.265321] call 00:00+ returned 0 after 0 usecs [ 3547.265324] calling LNXPWRBN:00+ @ 4446, parent: LNXSYSTM:00 [ 3547.265325] call LNXPWRBN:00+ returned 0 after 0 usecs [ 3547.265326] calling PNP0C14:00+ @ 4446, parent: platform [ 3547.265326] call PNP0C14:00+ returned 0 after 0 usecs [ 3547.265327] calling PNP0C0A:00+ @ 4446, parent: platform [ 3547.265328] call PNP0C0A:00+ returned 0 after 0 usecs [ 3547.265329] calling ACPI0003:00+ @ 4446, parent: platform [ 3547.265329] call ACPI0003:00+ returned 0 after 0 usecs [ 3547.265330] calling PNP0C0D:00+ @ 4446, parent: platform [ 3547.265330] call PNP0C0D:00+ returned 0 after 0 usecs [ 3547.265331] calling PNP0C0E:00+ @ 4446, parent: platform [ 3547.265332] call PNP0C0E:00+ returned 0 after 0 usecs [ 3547.265332] calling PNP0C0C:00+ @ 4446, parent: platform [ 3547.265333] call PNP0C0C:00+ returned 0 after 0 usecs [ 3547.265333] calling INT0E0C:00+ @ 4446, parent: platform [ 3547.265334] call INT0E0C:00+ returned 0 after 0 usecs [ 3547.265335] calling ACPI000C:00+ @ 4446, parent: platform [ 3547.265335] call ACPI000C:00+ returned 0 after 0 usecs [ 3547.265336] calling PNP0C09:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.265337] call PNP0C09:00+ returned 0 after 0 usecs [ 3547.265337] calling PNP0103:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.265338] call PNP0103:00+ returned 0 after 0 usecs [ 3547.265338] calling INT0800:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.265339] call INT0800:00+ returned 0 after 0 usecs [ 3547.265348] calling LNXTHERM:00+ @ 4446, parent: LNXSYBUS:01 [ 3547.265350] call LNXTHERM:00+ returned 0 after 1 usecs [ 3547.265353] calling PNP0C0D:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.265354] call PNP0C0D:00+ returned 0 after 0 usecs [ 3547.265355] calling PNP0C0E:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.265355] call PNP0C0E:00+ returned 0 after 0 usecs [ 3547.265356] calling PNP0C0C:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.265356] call PNP0C0C:00+ returned 0 after 0 usecs [ 3547.265375] calling 0000:04:00.0+ @ 4451, parent: 0000:00:1d.0 [ 3547.265395] calling 0000:03:00.1+ @ 4454, parent: 0000:00:1c.5 [ 3547.265397] calling 0000:03:00.0+ @ 4452, parent: 0000:00:1c.5 [ 3547.265408] calling PNP0C09:00+ @ 4446, parent: device:20 [ 3547.265409] ACPI : EC: event blocked [ 3547.265533] calling 0000:02:00.0+ @ 4455, parent: 0000:00:1c.2 [ 3547.265535] call 0000:02:00.0+ returned 0 after 1 usecs [ 3547.265553] calling 0000:00:1f.4+ @ 4456, parent: pci0000:00 [ 3547.265554] call 0000:00:1f.4+ returned 0 after 0 usecs [ 3547.265556] calling 0000:00:1f.3+ @ 4456, parent: pci0000:00 [ 3547.265568] calling 0000:00:1f.2+ @ 4457, parent: pci0000:00 [ 3547.265573] call 0000:00:1f.2+ returned 0 after 4 usecs [ 3547.265575] calling 0000:00:1f.0+ @ 4457, parent: pci0000:00 [ 3547.265576] call 0000:00:1f.0+ returned 0 after 0 usecs [ 3547.265593] calling 0000:00:1c.2+ @ 4459, parent: pci0000:00 [ 3547.265595] call 0000:00:1c.2+ returned 0 after 1 usecs [ 3547.265604] calling 0000:00:17.0+ @ 4460, parent: pci0000:00 [ 3547.265636] calling 0000:00:16.0+ @ 4461, parent: pci0000:00 [ 3547.265646] call 0000:00:17.0+ returned 0 after 41 usecs [ 3547.265691] calling 0000:00:14.2+ @ 4460, parent: pci0000:00 [ 3547.265693] call 0000:00:14.2+ returned 0 after 1 usecs [ 3547.265694] call 0000:03:00.1+ returned 0 after 291 usecs [ 3547.265695] calling 0000:00:08.0+ @ 4454, parent: pci0000:00 [ 3547.265696] call 0000:00:08.0+ returned 0 after 0 usecs [ 3547.265697] calling 0000:00:02.0+ @ 4454, parent: pci0000:00 [ 3547.265969] calling 0000:00:00.0+ @ 4462, parent: pci0000:00 [ 3547.265970] call 0000:00:00.0+ returned 0 after 0 usecs [ 3547.266639] call 0000:00:1f.3+ returned 0 after 1057 usecs [ 3547.276776] call 0000:00:16.0+ returned 0 after 10879 usecs [ 3547.282637] call 0000:00:02.0+ returned 0 after 16541 usecs [ 3547.283291] call 0000:03:00.0+ returned 0 after 17472 usecs [ 3547.283295] calling 0000:00:1c.5+ @ 4458, parent: pci0000:00 [ 3547.283297] call 0000:00:1c.5+ returned 0 after 1 usecs [ 3547.306347] call usb3+ returned 0 after 40187 usecs [ 3547.306457] call usb4+ returned 0 after 40282 usecs [ 3547.306463] calling 0000:01:00.0+ @ 4455, parent: 0000:00:1c.0 [ 3547.307337] call 0000:01:00.0+ returned 0 after 853 usecs [ 3547.307362] calling 0000:00:1c.0+ @ 4459, parent: pci0000:00 [ 3547.307366] call 0000:00:1c.0+ returned 0 after 2 usecs [ 3547.344164] call 1-5+ returned 0 after 649772 usecs [ 3547.344180] calling usb1+ @ 4450, parent: 0000:00:14.0 [ 3547.344355] call usb1+ returned 0 after 169 usecs [ 3547.344405] calling 0000:00:14.0+ @ 4460, parent: pci0000:00 [ 3547.344507] call 0000:00:14.0+ returned 0 after 98 usecs [ 3547.371418] call 0000:04:00.0+ returned 0 after 103555 usecs [ 3547.371434] calling 0000:00:1d.0+ @ 4457, parent: pci0000:00 [ 3547.371443] call 0000:00:1d.0+ returned 0 after 6 usecs [ 3547.472115] call PNP0C09:00+ returned 0 after 201857 usecs [ 3547.472212] calling reg-dummy+ @ 4446, parent: platform [ 3547.472218] call reg-dummy+ returned 0 after 3 usecs [ 3547.472484] PM: suspend of devices complete after 793.976 msecs [ 3547.473105] calling 0000:00:02.0+ @ 4460, parent: pci0000:00 [ 3547.491412] call 0000:00:02.0+ returned 0 after 17870 usecs [ 3547.491481] PM: late suspend of devices complete after 18.989 msecs [ 3547.492295] calling 0000:04:00.0+ @ 4451, parent: 0000:00:1d.0 [ 3547.492298] calling 0000:03:00.1+ @ 4457, parent: 0000:00:1c.5 [ 3547.492315] calling 0000:03:00.0+ @ 4460, parent: 0000:00:1c.5 [ 3547.492326] call 0000:03:00.0+ returned 0 after 8 usecs [ 3547.492333] calling 0000:02:00.0+ @ 4460, parent: 0000:00:1c.2 [ 3547.492462] calling PNP0C09:00+ @ 4446, parent: device:20 [ 3547.492466] ACPI : EC: interrupt blocked [ 3547.492474] call PNP0C09:00+ returned 0 after 9 usecs [ 3547.492931] pcieport 0000:00:1c.5: System wakeup enabled by ACPI [ 3547.492963] calling 0000:01:00.0+ @ 4462, parent: 0000:00:1c.0 [ 3547.492972] calling 0000:00:1f.4+ @ 4450, parent: pci0000:00 [ 3547.492980] calling 0000:00:1f.3+ @ 3660, parent: pci0000:00 [ 3547.492988] calling 0000:00:1f.2+ @ 4459, parent: pci0000:00 [ 3547.493145] call 0000:00:1f.4+ returned 0 after 165 usecs [ 3547.493154] calling 0000:00:1f.0+ @ 4450, parent: pci0000:00 [ 3547.493166] call 0000:00:1f.2+ returned 0 after 171 usecs [ 3547.493249] calling 0000:00:17.0+ @ 4458, parent: pci0000:00 [ 3547.493257] call 0000:00:1f.0+ returned 0 after 97 usecs [ 3547.493259] calling 0000:00:16.0+ @ 4452, parent: pci0000:00 [ 3547.493264] calling 0000:00:14.2+ @ 4450, parent: pci0000:00 [ 3547.493280] xhci_hcd 0000:01:00.0: System wakeup enabled by ACPI [ 3547.493432] calling 0000:00:14.0+ @ 4454, parent: pci0000:00 [ 3547.493439] calling 0000:00:08.0+ @ 4456, parent: pci0000:00 [ 3547.493457] calling 0000:00:02.0+ @ 4461, parent: pci0000:00 [ 3547.493462] call 0000:00:02.0+ returned 0 after 3 usecs [ 3547.493464] calling 0000:00:00.0+ @ 4464, parent: pci0000:00 [ 3547.493633] call 0000:00:08.0+ returned 0 after 187 usecs [ 3547.493637] call 0000:00:00.0+ returned 0 after 167 usecs [ 3547.493778] xhci_hcd 0000:00:14.0: System wakeup enabled by ACPI [ 3547.511247] call 0000:00:14.2+ returned 0 after 17559 usecs [ 3547.511288] call 0000:01:00.0+ returned 0 after 17893 usecs [ 3547.511299] calling 0000:00:1c.0+ @ 3553, parent: pci0000:00 [ 3547.511305] call 0000:02:00.0+ returned 0 after 18525 usecs [ 3547.511308] call 0000:00:17.0+ returned 0 after 17633 usecs [ 3547.511318] calling 0000:00:1c.2+ @ 4331, parent: pci0000:00 [ 3547.511360] call 0000:04:00.0+ returned 0 after 18616 usecs [ 3547.511368] calling 0000:00:1d.0+ @ 4459, parent: pci0000:00 [ 3547.511648] call 0000:03:00.1+ returned 0 after 18894 usecs [ 3547.511652] call 0000:00:16.0+ returned 0 after 17960 usecs [ 3547.511656] calling 0000:00:1c.5+ @ 4455, parent: pci0000:00 [ 3547.512407] call 0000:00:1f.3+ returned 0 after 18968 usecs [ 3547.531222] call 0000:00:1c.5+ returned 0 after 19104 usecs [ 3547.531224] call 0000:00:1c.2+ returned 0 after 19436 usecs [ 3547.531232] call 0000:00:1c.0+ returned 0 after 19463 usecs [ 3547.531234] call 0000:00:1d.0+ returned 0 after 19397 usecs [ 3547.531401] call 0000:00:14.0+ returned 0 after 37078 usecs [ 3547.531426] PM: noirq suspend of devices complete after 39.936 msecs [ 3547.532473] ACPI: Preparing to enter system sleep state S3 [ 3547.534638] ACPI : EC: EC stopped [ 3547.534639] PM: Saving platform NVS memory [ 3547.534706] Disabling non-boot CPUs ... [ 3547.535508] Broke affinity for irq 128 [ 3547.536593] smpboot: CPU 1 is now offline [ 3547.564768] Broke affinity for irq 122 [ 3547.564781] Broke affinity for irq 125 [ 3547.564786] Broke affinity for irq 126 [ 3547.564794] Broke affinity for irq 128 [ 3547.564808] Broke affinity for irq 132 [ 3547.564814] Broke affinity for irq 137 [ 3547.566928] smpboot: CPU 2 is now offline [ 3547.588529] Broke affinity for irq 1 [ 3547.588535] Broke affinity for irq 8 [ 3547.588539] Broke affinity for irq 9 [ 3547.588543] Broke affinity for irq 12 [ 3547.588554] Broke affinity for irq 122 [ 3547.588559] Broke affinity for irq 123 [ 3547.588563] Broke affinity for irq 124 [ 3547.588567] Broke affinity for irq 125 [ 3547.588570] Broke affinity for irq 126 [ 3547.588575] Broke affinity for irq 127 [ 3547.588579] Broke affinity for irq 128 [ 3547.588587] Broke affinity for irq 131 [ 3547.588591] Broke affinity for irq 132 [ 3547.588597] Broke affinity for irq 137 [ 3547.589644] smpboot: CPU 3 is now offline [ 3547.607905] PM: Calling kvm_suspend+0x0/0x30 [kvm] [ 3547.607912] PM: Calling mce_syscore_suspend+0x0/0x20 [ 3547.607919] PM: Calling ledtrig_cpu_syscore_suspend+0x0/0x20 [ 3547.607925] PM: Calling timekeeping_suspend+0x0/0x2a0 [ 3547.608028] PM: Calling irq_gc_suspend+0x0/0x70 [ 3547.608032] PM: Calling save_ioapic_entries+0x0/0x90 [ 3547.609235] PM: Calling i8259A_suspend+0x0/0x30 [ 3547.609247] PM: Calling fw_suspend+0x0/0x20 [ 3547.609252] PM: Calling acpi_save_bm_rld+0x0/0x1e [ 3547.609262] PM: Calling lapic_suspend+0x0/0x1d0 [1266874881.041473] [Firmware Bug]: TSC ADJUST differs: CPU0 0 --> -89978441. Restoring [ 3547.611146] ACPI: Low-level resume complete [ 3547.611251] ACPI : EC: EC started [ 3547.611251] PM: Restoring platform NVS memory [ 3547.611282] PM: Calling bsp_resume+0x0/0x20 [ 3547.611284] PM: Calling lapic_resume+0x0/0x2a0 [ 3547.611312] PM: Calling acpi_restore_bm_rld+0x0/0x5c [ 3547.611315] PM: Calling irqrouter_resume+0x0/0x3d [ 3547.611317] PM: Calling i8259A_resume+0x0/0x30 [ 3547.611481] PM: Calling i8237A_resume+0x0/0x90 [ 3547.611610] PM: Calling ioapic_resume+0x0/0xa0 [ 3547.611852] PM: Calling irq_gc_resume+0x0/0x60 [ 3547.611854] PM: Calling irq_pm_syscore_resume+0x0/0x20 [ 3547.611865] PM: Calling timekeeping_resume+0x0/0x1d0 [ 3547.611979] Suspended for 13.352 seconds [ 3547.611990] PM: Calling ledtrig_cpu_syscore_resume+0x0/0x20 [ 3547.611992] PM: Calling mce_syscore_resume+0x0/0x30 [ 3547.612008] PM: Calling mc_bp_resume+0x0/0x50 [ 3547.612021] PM: Calling kvm_resume+0x0/0x40 [kvm] [ 3547.612032] Enabling non-boot CPUs ... [ 3547.623366] x86: Booting SMP configuration: [ 3547.623367] smpboot: Booting Node 0 Processor 1 APIC 0x2 [ 3547.623688] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -352922557 CPU1: 0 [ 3547.623794] cache: parent cpu1 should not be sleeping [ 3547.623924] CPU1 is up [ 3547.635596] smpboot: Booting Node 0 Processor 2 APIC 0x1 [ 3547.636395] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -352922557 CPU2: 0 [ 3547.636641] cache: parent cpu2 should not be sleeping [ 3547.636979] CPU2 is up [ 3547.651676] smpboot: Booting Node 0 Processor 3 APIC 0x3 [ 3547.652595] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -352922557 CPU3: 0 [ 3547.652848] cache: parent cpu3 should not be sleeping [ 3547.653230] CPU3 is up [ 3547.661639] ACPI: Waking up from system sleep state S3 [ 3547.670853] calling 0000:00:00.0+ @ 4454, parent: pci0000:00 [ 3547.670860] calling 0000:00:02.0+ @ 4459, parent: pci0000:00 [ 3547.670877] calling 0000:00:08.0+ @ 3553, parent: pci0000:00 [ 3547.670892] call 0000:00:00.0+ returned 0 after 35 usecs [ 3547.670895] calling 0000:00:14.0+ @ 4454, parent: pci0000:00 [ 3547.670913] call 0000:00:08.0+ returned 0 after 33 usecs [ 3547.670917] calling 0000:00:14.2+ @ 3553, parent: pci0000:00 [ 3547.670928] calling 0000:00:16.0+ @ 4455, parent: pci0000:00 [ 3547.670935] calling 0000:00:17.0+ @ 4331, parent: pci0000:00 [ 3547.670949] calling 0000:00:1c.0+ @ 3660, parent: pci0000:00 [ 3547.670959] calling 0000:00:1c.2+ @ 4452, parent: pci0000:00 [ 3547.670966] calling 0000:00:1c.5+ @ 4457, parent: pci0000:00 [ 3547.670976] calling 0000:00:1d.0+ @ 4460, parent: pci0000:00 [ 3547.670987] calling 0000:00:1f.2+ @ 4451, parent: pci0000:00 [ 3547.670999] calling 0000:00:1f.3+ @ 4458, parent: pci0000:00 [ 3547.671008] calling 0000:00:1f.4+ @ 4450, parent: pci0000:00 [ 3547.671034] call 0000:00:1f.2+ returned 0 after 44 usecs [ 3547.671039] calling 0000:00:1f.0+ @ 4462, parent: pci0000:00 [ 3547.671060] calling PNP0C09:00+ @ 4446, parent: device:20 [ 3547.671063] ACPI : EC: interrupt unblocked [ 3547.671065] call PNP0C09:00+ returned 0 after 3 usecs [ 3547.671117] call 0000:00:1f.4+ returned 0 after 104 usecs [ 3547.671127] call 0000:00:1f.0+ returned 0 after 84 usecs [ 3547.671235] calling i8042+ @ 4446, parent: platform [ 3547.671240] call i8042+ returned 0 after 2 usecs [ 3547.687318] call 0000:00:16.0+ returned 0 after 16003 usecs [ 3547.687443] call 0000:00:1c.5+ returned 0 after 16088 usecs [ 3547.687446] call 0000:00:1d.0+ returned 0 after 16082 usecs [ 3547.687454] call 0000:00:1c.2+ returned 0 after 16107 usecs [ 3547.687458] call 0000:00:14.2+ returned 0 after 16153 usecs [ 3547.687609] call 0000:00:17.0+ returned 0 after 16282 usecs [ 3547.687617] calling 0000:04:00.0+ @ 4462, parent: 0000:00:1d.0 [ 3547.687629] calling 0000:02:00.0+ @ 4450, parent: 0000:00:1c.2 [ 3547.687632] calling 0000:03:00.1+ @ 4463, parent: 0000:00:1c.5 [ 3547.687676] call 0000:00:1c.0+ returned 0 after 16333 usecs [ 3547.687677] call 0000:00:02.0+ returned 0 after 16420 usecs [ 3547.687682] calling 0000:01:00.0+ @ 4451, parent: 0000:00:1c.0 [ 3547.687684] calling 0000:03:00.0+ @ 4464, parent: 0000:00:1c.5 [ 3547.691248] call 0000:00:1f.3+ returned 0 after 19773 usecs [ 3547.708155] call 0000:02:00.0+ returned 0 after 20043 usecs [ 3547.708184] xhci_hcd 0000:01:00.0: System wakeup disabled by ACPI [ 3547.708188] call 0000:03:00.1+ returned 0 after 20072 usecs [ 3547.708199] call 0000:01:00.0+ returned 0 after 20034 usecs [ 3547.708207] call 0000:03:00.0+ returned 0 after 20040 usecs [ 3547.708265] call 0000:04:00.0+ returned 0 after 20163 usecs [ 3547.715281] xhci_hcd 0000:00:14.0: System wakeup disabled by ACPI [ 3547.715286] call 0000:00:14.0+ returned 0 after 43349 usecs [ 3547.715366] PM: noirq resume of devices complete after 44.580 msecs [ 3547.715447] calling 0000:00:02.0+ @ 4483, parent: pci0000:00 [ 3547.726301] call 0000:00:02.0+ returned 0 after 10598 usecs [ 3547.726378] PM: early resume of devices complete after 10.964 msecs [ 3547.726415] calling 0000:00:00.0+ @ 4483, parent: pci0000:00 [ 3547.726419] call 0000:00:00.0+ returned 0 after 2 usecs [ 3547.726425] calling 0000:00:08.0+ @ 4483, parent: pci0000:00 [ 3547.726428] calling 0000:00:02.0+ @ 4501, parent: pci0000:00 [ 3547.726429] call 0000:00:08.0+ returned 0 after 1 usecs [ 3547.726431] calling 0000:00:14.0+ @ 4485, parent: pci0000:00 [ 3547.726432] calling 0000:00:14.2+ @ 4483, parent: pci0000:00 [ 3547.726435] call 0000:00:14.2+ returned 0 after 2 usecs [ 3547.726438] calling 0000:00:16.0+ @ 4483, parent: pci0000:00 [ 3547.726544] calling reg-dummy+ @ 4446, parent: platform [ 3547.726548] call reg-dummy+ returned 0 after 2 usecs [ 3547.726567] calling PNP0C09:00+ @ 4446, parent: device:20 [ 3547.726569] ACPI : EC: event unblocked [ 3547.726591] call PNP0C09:00+ returned 0 after 21 usecs [ 3547.726625] calling PNP0C0C:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.726628] call PNP0C0C:00+ returned 0 after 1 usecs [ 3547.726629] calling PNP0C0E:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.726631] call PNP0C0E:00+ returned 0 after 0 usecs [ 3547.726633] calling PNP0C0D:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.726677] call 0000:00:14.0+ returned 0 after 238 usecs [ 3547.726684] calling 0000:00:17.0+ @ 4485, parent: pci0000:00 [ 3547.726710] ACPI : button: The lid device is not compliant to SW_LID. [ 3547.726713] call 0000:00:17.0+ returned 0 after 26 usecs [ 3547.726714] calling 0000:00:1c.0+ @ 4482, parent: pci0000:00 [ 3547.726715] calling 0000:00:1c.2+ @ 4485, parent: pci0000:00 [ 3547.726717] call PNP0C0D:00+ returned 0 after 79 usecs [ 3547.726719] call 0000:00:1c.0+ returned 0 after 3 usecs [ 3547.726720] call 0000:00:1c.2+ returned 0 after 2 usecs [ 3547.726722] calling ACPI0003:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.726723] calling 0000:00:1c.5+ @ 4482, parent: pci0000:00 [ 3547.726724] calling 0000:00:1d.0+ @ 4485, parent: pci0000:00 [ 3547.726727] call 0000:00:1c.5+ returned 0 after 2 usecs [ 3547.726728] call 0000:00:1d.0+ returned 0 after 1 usecs [ 3547.726729] calling 0000:00:1f.0+ @ 4482, parent: pci0000:00 [ 3547.726730] calling 0000:00:1f.2+ @ 4485, parent: pci0000:00 [ 3547.726732] call 0000:00:1f.0+ returned 0 after 2 usecs [ 3547.726734] calling 0000:00:1f.3+ @ 4482, parent: pci0000:00 [ 3547.726738] call 0000:00:1f.2+ returned 0 after 6 usecs [ 3547.726740] calling 0000:00:1f.4+ @ 4485, parent: pci0000:00 [ 3547.726744] call 0000:00:1f.4+ returned 0 after 1 usecs [ 3547.726746] calling 0000:01:00.0+ @ 4485, parent: 0000:00:1c.0 [ 3547.726754] calling 0000:02:00.0+ @ 4484, parent: 0000:00:1c.2 [ 3547.726775] call 0000:02:00.0+ returned 0 after 19 usecs [ 3547.726777] calling 0000:03:00.0+ @ 4484, parent: 0000:00:1c.5 [ 3547.727024] calling 0000:03:00.1+ @ 4499, parent: 0000:00:1c.5 [ 3547.727038] calling 0000:04:00.0+ @ 4480, parent: 0000:00:1d.0 [ 3547.727045] call 0000:04:00.0+ returned 0 after 5 usecs [ 3547.727049] calling usb1+ @ 4480, parent: 0000:00:14.0 [ 3547.727075] call 0000:03:00.0+ returned 0 after 289 usecs [ 3547.727147] calling usb2+ @ 4468, parent: 0000:00:14.0 [ 3547.727237] call usb2+ returned 0 after 76 usecs [ 3547.727303] calling ata1+ @ 4462, parent: 0000:00:17.0 [ 3547.727310] call ata1+ returned 0 after 6 usecs [ 3547.727312] calling ata2+ @ 4462, parent: 0000:00:17.0 [ 3547.727318] call ata2+ returned 0 after 4 usecs [ 3547.727320] calling host0+ @ 4462, parent: ata1 [ 3547.727324] call host0+ returned 0 after 3 usecs [ 3547.727327] calling host1+ @ 4462, parent: ata2 [ 3547.727329] call host1+ returned 0 after 1 usecs [ 3547.727424] calling phy0+ @ 4488, parent: 0000:02:00.0 [ 3547.727508] pcieport 0000:00:1c.5: System wakeup disabled by ACPI [ 3547.729553] iwlwifi 0000:02:00.0: L1 Enabled - LTR Disabled [ 3547.729708] call 0000:01:00.0+ returned 0 after 2891 usecs [ 3547.729724] calling usb4+ @ 4498, parent: 0000:01:00.0 [ 3547.729730] calling usb3+ @ 4468, parent: 0000:01:00.0 [ 3547.729777] call usb4+ returned 0 after 50 usecs [ 3547.729801] call usb3+ returned 0 after 67 usecs [ 3547.730189] iwlwifi 0000:02:00.0: L1 Enabled - LTR Disabled [ 3547.735240] call ACPI0003:00+ returned 0 after 8315 usecs [ 3547.735244] calling PNP0C0A:00+ @ 4446, parent: LNXSYBUS:00 [ 3547.735759] call PNP0C0A:00+ returned 0 after 500 usecs [ 3547.735764] calling LNXTHERM:00+ @ 4446, parent: LNXSYBUS:01 [ 3547.735771] call LNXTHERM:00+ returned 0 after 5 usecs [ 3547.735784] calling INT0800:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.735786] call INT0800:00+ returned 0 after 1 usecs [ 3547.735788] calling PNP0103:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.735789] call PNP0103:00+ returned 0 after 0 usecs [ 3547.735791] calling PNP0C09:00+ @ 4446, parent: 0000:00:1f.0 [ 3547.735792] call PNP0C09:00+ returned 0 after 0 usecs [ 3547.735794] calling ACPI000C:00+ @ 4446, parent: platform [ 3547.735796] call ACPI000C:00+ returned 0 after 1 usecs [ 3547.735797] calling INT0E0C:00+ @ 4446, parent: platform [ 3547.735799] call INT0E0C:00+ returned 0 after 0 usecs [ 3547.735800] calling PNP0C0C:00+ @ 4446, parent: platform [ 3547.735801] call PNP0C0C:00+ returned 0 after 0 usecs [ 3547.735802] calling PNP0C0E:00+ @ 4446, parent: platform [ 3547.735804] call PNP0C0E:00+ returned 0 after 0 usecs [ 3547.735805] calling PNP0C0D:00+ @ 4446, parent: platform [ 3547.735807] call PNP0C0D:00+ returned 0 after 0 usecs [ 3547.735808] calling ACPI0003:00+ @ 4446, parent: platform [ 3547.735810] call ACPI0003:00+ returned 0 after 0 usecs [ 3547.735811] calling PNP0C0A:00+ @ 4446, parent: platform [ 3547.735813] call PNP0C0A:00+ returned 0 after 0 usecs [ 3547.735814] calling PNP0C14:00+ @ 4446, parent: platform [ 3547.735815] call PNP0C14:00+ returned 0 after 0 usecs [ 3547.735817] calling LNXPWRBN:00+ @ 4446, parent: LNXSYSTM:00 [ 3547.735819] call LNXPWRBN:00+ returned 0 after 1 usecs [ 3547.735822] calling 00:00+ @ 4446, parent: pnp0 [ 3547.735825] call 00:00+ returned 0 after 2 usecs [ 3547.735827] calling 00:01+ @ 4446, parent: pnp0 [ 3547.735830] rtc_cmos 00:01: System wakeup disabled by ACPI [ 3547.736062] call 00:01+ returned 0 after 228 usecs [ 3547.736063] calling 00:02+ @ 4446, parent: pnp0 [ 3547.736065] call 00:02+ returned 0 after 0 usecs [ 3547.736066] calling 00:03+ @ 4446, parent: pnp0 [ 3547.736068] call 00:03+ returned 0 after 1 usecs [ 3547.736069] calling 00:04+ @ 4446, parent: pnp0 [ 3547.736071] call 00:04+ returned 0 after 0 usecs [ 3547.736072] calling 00:05+ @ 4446, parent: pnp0 [ 3547.736074] call 00:05+ returned 0 after 0 usecs [ 3547.736075] calling 00:06+ @ 4446, parent: pnp0 [ 3547.736077] call 00:06+ returned 0 after 0 usecs [ 3547.736078] calling 00:07+ @ 4446, parent: pnp0 [ 3547.736079] call 00:07+ returned 0 after 0 usecs [ 3547.736080] calling 00:08+ @ 4446, parent: pnp0 [ 3547.736082] call 00:08+ returned 0 after 0 usecs [ 3547.736105] calling pcspkr+ @ 4446, parent: platform [ 3547.736107] call pcspkr+ returned 0 after 1 usecs [ 3547.736108] calling platform-framebuffer.0+ @ 4446, parent: platform [ 3547.736111] call platform-framebuffer.0+ returned 0 after 1 usecs [ 3547.736113] calling alarmtimer+ @ 4446, parent: platform [ 3547.736116] call alarmtimer+ returned 0 after 1 usecs [ 3547.736122] calling input0+ @ 4446, parent: PNP0C0C:00 [ 3547.736125] call input0+ returned 0 after 1 usecs [ 3547.736126] calling input1+ @ 4446, parent: PNP0C0E:00 [ 3547.736128] call input1+ returned 0 after 0 usecs [ 3547.736129] calling input2+ @ 4446, parent: PNP0C0D:00 [ 3547.736131] call input2+ returned 0 after 0 usecs [ 3547.736132] calling input3+ @ 4446, parent: LNXPWRBN:00 [ 3547.736134] call input3+ returned 0 after 1 usecs [ 3547.736137] calling serial8250+ @ 4446, parent: platform [ 3547.736140] call serial8250+ returned 0 after 2 usecs [ 3547.736167] calling Fixed MDIO bus.0+ @ 4446, parent: platform [ 3547.736169] call Fixed MDIO bus.0+ returned 0 after 1 usecs [ 3547.736175] calling i8042+ @ 4446, parent: platform [ 3547.740255] call 0000:00:1f.3+ returned 0 after 13200 usecs [ 3547.740268] calling hdaudioC0D0+ @ 4490, parent: 0000:00:1f.3 [ 3547.740270] calling hdaudioC0D2+ @ 4489, parent: 0000:00:1f.3 [ 3547.740274] call hdaudioC0D0+ returned 0 after 4 usecs [ 3547.740275] call hdaudioC0D2+ returned 0 after 3 usecs [ 3547.740835] call i8042+ returned 0 after 4549 usecs [ 3547.740836] calling serio0+ @ 4446, parent: i8042 [ 3547.740842] call serio0+ returned 0 after 4 usecs [ 3547.740914] calling serio1+ @ 4446, parent: i8042 [ 3547.740917] call serio1+ returned 0 after 2 usecs [ 3547.740921] calling serio2+ @ 4446, parent: i8042 [ 3547.740923] call serio2+ returned 0 after 1 usecs [ 3547.740925] calling serio3+ @ 4446, parent: i8042 [ 3547.740926] call serio3+ returned 0 after 1 usecs [ 3547.740928] calling serio4+ @ 4446, parent: i8042 [ 3547.740929] call serio4+ returned 0 after 0 usecs [ 3547.740933] calling rtc0+ @ 4446, parent: 00:01 [ 3547.740935] call rtc0+ returned 0 after 1 usecs [ 3547.740937] calling input4+ @ 4446, parent: serio0 [ 3547.740942] call input4+ returned 0 after 4 usecs [ 3547.740947] calling microcode+ @ 4446, parent: platform [ 3547.740949] call microcode+ returned 0 after 1 usecs [ 3547.740958] calling rtsx_pci_sdmmc.0+ @ 4446, parent: 0000:03:00.0 [ 3547.740961] call rtsx_pci_sdmmc.0+ returned 0 after 1 usecs [ 3547.740962] calling rtsx_pci_ms.0+ @ 4446, parent: 0000:03:00.0 [ 3547.740968] call rtsx_pci_ms.0+ returned 0 after 4 usecs [ 3547.741245] [drm] GuC firmware load skipped [ 3547.743403] call 0000:03:00.1+ returned 0 after 15991 usecs [ 3547.744203] call 0000:00:16.0+ returned 0 after 17344 usecs [ 3547.745200] call 0000:00:02.0+ returned 0 after 18329 usecs [ 3547.745215] calling intel_backlight+ @ 4446, parent: card0-eDP-1 [ 3547.745220] call intel_backlight+ returned 0 after 3 usecs [ 3547.745225] calling input10+ @ 4446, parent: LNXVIDEO:00 [ 3547.745228] call input10+ returned 0 after 1 usecs [ 3547.745237] calling input11+ @ 4446, parent: serio2 [ 3547.745239] call input11+ returned 0 after 1 usecs [ 3547.745242] calling tuxedo_wmi+ @ 4446, parent: platform [ 3547.745579] r8169 0000:03:00.1 enp3s0f1: link down [ 3547.754194] call tuxedo_wmi+ returned 0 after 8737 usecs [ 3547.754199] calling input14+ @ 4446, parent: tuxedo_wmi [ 3547.754203] call input14+ returned 0 after 3 usecs [ 3547.754206] calling tuxedo::airplane+ @ 4446, parent: tuxedo_wmi [ 3547.754208] call tuxedo::airplane+ returned 0 after 1 usecs [ 3547.754211] calling regulatory.0+ @ 4446, parent: platform [ 3547.754213] call regulatory.0+ returned 0 after 1 usecs [ 3547.754217] calling input4::numlock+ @ 4446, parent: input4 [ 3547.754219] call input4::numlock+ returned 0 after 1 usecs [ 3547.754221] calling input4::capslock+ @ 4446, parent: input4 [ 3547.754223] call input4::capslock+ returned 0 after 1 usecs [ 3547.754224] calling input4::scrolllock+ @ 4446, parent: input4 [ 3547.754226] call input4::scrolllock+ returned 0 after 1 usecs [ 3547.754228] calling snd-soc-dummy+ @ 4446, parent: platform [ 3547.754230] call snd-soc-dummy+ returned 0 after 1 usecs [ 3547.754237] calling input15+ @ 4446, parent: card0 [ 3547.754239] call input15+ returned 0 after 1 usecs [ 3547.754241] calling input16+ @ 4446, parent: card0 [ 3547.754243] call input16+ returned 0 after 0 usecs [ 3547.754244] calling input17+ @ 4446, parent: card0 [ 3547.754246] call input17+ returned 0 after 0 usecs [ 3547.754248] calling input18+ @ 4446, parent: card0 [ 3547.754249] call input18+ returned 0 after 0 usecs [ 3547.754251] calling input19+ @ 4446, parent: card0 [ 3547.754253] call input19+ returned 0 after 0 usecs [ 3547.754255] calling coretemp.0+ @ 4446, parent: platform [ 3547.754258] call coretemp.0+ returned 0 after 1 usecs [ 3547.792347] xhci_hcd 0000:00:14.0: port 4 resume PLC timeout [ 3547.857223] iwlwifi 0000:02:00.0: L1 Enabled - LTR Disabled [ 3547.857497] iwlwifi 0000:02:00.0: L1 Enabled - LTR Disabled [ 3547.911173] call usb1+ returned 0 after 179806 usecs [ 3547.911186] calling 1-6+ @ 4492, parent: usb1 [ 3547.911209] calling 1-5+ @ 4462, parent: usb1 [ 3547.936674] call phy0+ returned 0 after 204318 usecs [ 3548.031354] usb 1-6: reset high-speed USB device number 3 using xhci_hcd [ 3548.042131] ata1: SATA link down (SStatus 4 SControl 300) [ 3548.213440] call 1-6+ returned 0 after 295168 usecs [ 3548.291400] usb 1-5: reset full-speed USB device number 2 using xhci_hcd [ 3548.484800] call 1-5+ returned 0 after 560147 usecs [ 3548.484882] calling input20+ @ 4446, parent: 1-6:1.0 [ 3548.484884] call input20+ returned 0 after 2 usecs [ 3548.484886] calling phy0-led+ @ 4446, parent: 0000:02:00.0 [ 3548.484887] call phy0-led+ returned 0 after 0 usecs [ 3548.484888] calling rfkill1+ @ 4446, parent: phy0 [ 3548.484889] call rfkill1+ returned 0 after 1 usecs [ 3548.484892] PM: resume of devices complete after 758.513 msecs [ 3548.485011] usb 1-5:1.0: rebind failed: -517 [ 3548.485012] usb 1-5:1.1: rebind failed: -517 [ 3548.485490] PM: Finishing wakeup. [ 3548.485492] Restarting tasks ... done. [ 3548.500534] [drm] RC6 on [ 3548.902701] psmouse serio2: synaptics: queried max coordinates: x [..5718], y [..4908] ```
Here is the used graphics controller. ``` $ lspci -v -nn -s 00:02.0 00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5916] (rev 02) (prog-if 00 [VGA controller]) Subsystem: CLEVO/KAPOK Computer Device [1558:2410] Flags: bus master, fast devsel, latency 0, IRQ 130 Memory at de000000 (64-bit, non-prefetchable) [size=16M] Memory at c0000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 ```
User *Weine* in the IRC channel #intel-gfx@irc.freenode.net asked to look at the eDP panel timings. ``` $ sudo cat /sys/kernel/debug/dri/0/eDP-1/i915_panel_timings Panel power up delay: 200 Panel power down delay: 50 Backlight on delay: 20 Backlight off delay: 230 ```
``` $ lspci -nn -v -s 0:02.0 00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:5916] (rev 02) (prog-if 00 [VGA controller]) Subsystem: Dell Device [1028:075b] Flags: bus master, fast devsel, latency 0, IRQ 285 Memory at db000000 (64-bit, non-prefetchable) [size=16M] Memory at 90000000 (64-bit, prefetchable) [size=256M] I/O ports at f000 [size=64] [virtual] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 ```
Created attachment 129297 [details] HTML output of `analyze_suspend.py`
Please ignore comment #3 and comment #4, meant for bug #99650 [1]. [1] https://bugs.freedesktop.org/show_bug.cgi?id=99650
35ms suspend, 46ms resume are already quite respectable figures. This includes access to hardware, etc. I suspect this might also include loading the DMC firmware (unless you're running your system without DMC firmware, in which case it's likely to have non-functioning power management instead).
If you want me to analyse this further, feel free to provide an analyse_suspend callgraph like the one in #99650.
Created attachment 129901 [details] HTML output of `analyze_suspend.py -config config/suspend-callgraph.cfg -filter i915` (In reply to David Weinehall from comment #7) > If you want me to analyse this further, feel free to provide an > analyse_suspend callgraph like the one in #99650. Please find the output attached from a Linux kernel built from today’s latest commit from Linus’ master branch. ``` $ git describe --tag v4.10-9579-gf1ef09f ``` The numbers are higher though. > i915 @ 0000:00:02.0 {i915} async_device (Total Suspend: 331.893 ms Total Resume: 304.859 ms)
One more thing that would be helpful is the output of: cat /sys/kernel/debug/dri/0/eDP-1/i915_panel_timings Looking at the suspend/resume log I make the following observations: intel_edp_backlight_off() takes 238ms intel_edp_panel_off() takes 52ms 332ms - 238ms - 52ms = 52ms, which is a totally reasonable suspend time. (It should be noted here, and for the corresponding panel on/backlight on timeouts, that due to the potentially long waits we're doing ranged sleeps, not precise sleeps, meaning that these delays vary in length). The 22ms in resume_noirq() is mostly spent in pci_power_up(), which is outside our control (it's part of the PCI subsystem; I'm no expert here, but I find it likely that the delays imposed here are mandated by specs). The majority of the time spent in resume_early() is spent in intel_csr_load_program() loading the DMC firmware (necessary for deeper display power management). I should probably add some bad news here; it's likely that if you enable GuC submissions and also provide the HuC firmware you'll see further slowdowns, since those firmwares will also need loading. I'm currently investigating the feasibility of loading these firmwares asynchronously, but that will only happen if we can guarantee that it doesn't introduce race conditions or unduly complicates the driver. As for the intel_opregion_setup(), it seems that your BIOS is really slow. We're requesting BIOS data and polling for the data. On the test systems here the BIOS returns the relevant data within 1ms; on your machine it takes 18ms. I'd posit that this is a hardware issue, not a software issue. intel_edp_panel_on() takes 201ms This leaves us with: 274ms - 201ms - (18 - 1)ms = 57ms, which again is a perfectly cromulent figure. So, nothing here stands out apart from the suspected BIOS read slowdown.
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.