Hi folks,
(my 1st post, please be gentle
Currently running Release: 21.2.1 (Qonos) / with 5.15.12.1 kernel
I’ve upgraded CPU and motherboard on my PC, to i7-12700kf and z690 (board: gigabyte z690 gaming x ddr4 with F6 bios which is the latest currently).
Since the upgrade been having problems with resume from s3 suspend in Linux (tried 5.13, 5.14, 5.15 and couple of RC of 5.16).
Simptoms: PC would start resuming - i.e. fans would start spinning, disk would blink once, but then it just sits there - monitor still on power saving, keyboard dead, ethernet network link is down.
After a lot of experimentation i found that resume starts working if i disable ‘IOAPIC 24-119’ in BIOS. Which got me thinking ‘noapic’ kernel parameter would help as well (and it did)… then i noticed that both approaches effectively lead to intel_lpss_pci failing to initialize… I.e. if intel_lpss_pci is failing then resume from suspend is working…
Even if pc boots with intel_lpss_pci (which properly initializes) and then rmmod it before suspend - resume still works.
Of course this solves the immediate problem, but the engineer in me is craving to understand whats broken with lpss - if i understand correctly it is needed for i2c, spi and that sort of things… this is desktop, so no touchpads or backlight, no inbuilt wireless etc - perhaps monitoring sensors would be impacted. I wonder if there is a way to debug or understand better what is wrong with lpss?
For reference here is part of dmesg from when everything is enabled, lpss inits (but resume fails)
[ 0.000000] Linux version 5.15.12-1-MANJARO (builduser@fv-az39-353) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Wed Dec 29 18:08:07 UTC 2021
...
[ 6.808962] intel-pmt 0000:00:0a.0: Watcher not supported
[ 6.808965] intel-pmt 0000:00:0a.0: Crashlog not supported
[ 6.976571] intel-lpss 0000:00:15.0: enabling device (0004 -> 0006)
[ 6.976812] idma64 idma64.0: Found Intel integrated DMA 64-bit
[ 6.996786] intel-lpss 0000:00:15.1: enabling device (0004 -> 0006)
[ 6.997019] idma64 idma64.1: Found Intel integrated DMA 64-bit
[ 7.020079] intel-lpss 0000:00:15.2: enabling device (0004 -> 0006)
[ 7.021574] idma64 idma64.2: Found Intel integrated DMA 64-bit
[ 7.057110] intel-lpss 0000:00:15.3: enabling device (0004 -> 0006)
[ 7.057967] idma64 idma64.3: Found Intel integrated DMA 64-bit
[ 7.086751] intel-lpss 0000:00:19.0: enabling device (0004 -> 0006)
[ 7.088289] idma64 idma64.4: Found Intel integrated DMA 64-bit
[ 7.113555] intel-lpss 0000:00:19.1: enabling device (0004 -> 0006)
[ 7.114906] idma64 idma64.5: Found Intel integrated DMA 64-bit
For comparison here is what happens with ‘noapic’ (same kernel)
[ 7.316448] intel-lpss 0000:00:15.0: enabling device (0004 -> 0006)
[ 7.316610] intel-lpss 0000:00:15.0: can't derive routing for PCI INT A
[ 7.316611] intel-lpss 0000:00:15.0: PCI INT A: no GSI
[ 7.316629] intel-lpss: probe of 0000:00:15.0 failed with error -22
[ 7.333092] intel-lpss 0000:00:15.1: enabling device (0004 -> 0006)
[ 7.333264] intel-lpss 0000:00:15.1: can't derive routing for PCI INT B
[ 7.333266] intel-lpss 0000:00:15.1: PCI INT B: not connected
[ 7.333289] intel-lpss: probe of 0000:00:15.1 failed with error -22
[ 7.349784] intel-lpss 0000:00:15.2: enabling device (0004 -> 0006)
[ 7.349851] intel-lpss 0000:00:15.2: can't derive routing for PCI INT C
[ 7.349852] intel-lpss 0000:00:15.2: PCI INT C: not connected
[ 7.349871] intel-lpss: probe of 0000:00:15.2 failed with error -22
[ 7.366532] intel-lpss 0000:00:15.3: enabling device (0004 -> 0006)
[ 7.366995] intel-lpss 0000:00:15.3: can't derive routing for PCI INT D
[ 7.367000] intel-lpss 0000:00:15.3: PCI INT D: not connected
[ 7.367051] intel-lpss: probe of 0000:00:15.3 failed with error -22
[ 7.383339] intel-lpss 0000:00:19.0: enabling device (0004 -> 0006)
[ 7.383928] intel-lpss 0000:00:19.0: can't derive routing for PCI INT A
[ 7.383938] intel-lpss 0000:00:19.0: PCI INT A: not connected
[ 7.383993] intel-lpss: probe of 0000:00:19.0 failed with error -22
[ 7.399750] intel-lpss 0000:00:19.1: enabling device (0004 -> 0006)
[ 7.399870] intel-lpss 0000:00:19.1: can't derive routing for PCI INT B
[ 7.399872] intel-lpss 0000:00:19.1: PCI INT B: not connected
[ 7.399897] intel-lpss: probe of 0000:00:19.1 failed with error -22
[ 7.400622] ACPI: \_SB_.LNKB: BIOS reported IRQ 1, using IRQ 10
[ 7.400625] ACPI: \_SB_.LNKB: Enabled at IRQ 10
there are a few ACPI issues thrown, i wonder if there is any connection to resume:
[ 0.262732] ACPI BIOS Error (bug): Failure creating named object [\ADBG], AE_ALREADY_EXISTS (20210730/dswload2-326)
[ 0.262736] ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20210730/psobject-220)
[ 0.262738] ACPI: Skipping parse of AML opcode: Method (0x0014)
[ 0.272561] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.I2C1.TPL1], AE_NOT_FOUND (20210730/dswload2-162)
[ 0.272564] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20210730/psobject-220)
[ 0.272565] ACPI: Skipping parse of AML opcode: Scope (0x0010)
[ 0.279360] ACPI: 16 ACPI AML tables successfully acquired and loaded
In particular that TPL1 - is that a trackpad? Odd - this is desktop computer, build from individual pieces - pretty sure it doesn’t have a trackpad or touchscreen. Can it be a remnant living in the ACPI/BIOS? Since it mentions I2C - i wonder if this not something that combined lpss may lead to hang during resume? Is there any way to test this idea (if it is no wildly off of course
Could the search for TPL come from these
...
[ 0.194029] ACPI: Added _OSI(Module Device)
[ 0.194029] ACPI: Added _OSI(Processor Device)
[ 0.194029] ACPI: Added _OSI(3.0 _SCP Extensions)
[ 0.194029] ACPI: Added _OSI(Processor Aggregator Device)
[ 0.194029] ACPI: Added _OSI(Linux-Dell-Video)
[ 0.194029] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 0.194029] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
last 3 mainly? I haven’t yet found how to stop these…
System in question
CPU: 12-core (8-mt/4-st) 12th Gen Intel Core i7-12700KF (-MST AMCP-)
speed/min/max: 800/800/5000:3800 MHz Kernel: 5.16.0-1-MANJARO x86_64 Up: 12m
Mem: 1689.8/31938.6 MiB (5.3%) Storage: 3.19 TiB (0.3% used) Procs: 348
Shell: Bash inxi: 3.3.11