Bug 210621 - ACPI cpufreq driver sometimes gets detected and sometimes it doesn't
Summary: ACPI cpufreq driver sometimes gets detected and sometimes it doesn't
Status: NEEDINFO
Alias: None
Product: EFI
Classification: Unclassified
Component: Other (show other bugs)
Hardware: Intel Linux
: P1 normal
Assignee: EFI Virtual User
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-11 00:02 UTC by kk0xf0
Modified: 2021-01-22 02:21 UTC (History)
2 users (show)

See Also:
Kernel Version: 5.8.14
Subsystem:
Regression: No
Bisected commit-id:


Attachments
dmesg of the boot when acpi cpufreq doesn't work (63.57 KB, text/plain)
2020-12-11 00:02 UTC, kk0xf0
Details

Description kk0xf0 2020-12-11 00:02:33 UTC
Created attachment 294091 [details]
dmesg of the boot when acpi cpufreq doesn't work

The machine is old OptiPlex 780. The problem started to appear after replacing the CPU with Q8300.

On some boots the ACPI cpufreq is detected, and on some doesn't (intel_state driver is disabled in kernel cmdline). What I found (and what looks related) is that there are 5 line missing from the dmesg of not-working boot:


[    0.024474] ACPI: SSDT 0x00000000BDBFFC40 000175 (v01 DpgPmm Cpu0Ist  00000011 INTL 20050624)
[    0.024478] ACPI: SSDT 0x00000000BDC00049 000175 (v01 DpgPmm Cpu1Ist  00000011 INTL 20050624)
[    0.024481] ACPI: SSDT 0x00000000BDC00452 000175 (v01 DpgPmm Cpu2Ist  00000011 INTL 20050624)
[    0.024485] ACPI: SSDT 0x00000000BDC0085B 000175 (v01 DpgPmm Cpu3Ist  00000011 INTL 20050624)
[    0.024488] ACPI: SSDT 0x00000000BDC00C64 000190 (v01 DpgPmm CpuPm    00000010 INTL 20050624)

and those lines where present in the dmesg when the ACPI cpufreq was working.
Comment 1 Chen Yu 2020-12-29 12:47:08 UTC
I think we can boot with intel_idle enabled, since the intel_idle will use _CST table from ACPI as a reference when there is no customized cstate table in intel_idle driver. And please boot with "acpi.debug_layer=0x20000000 acpi.debug_level=0x4" with intel_idle enabled, which could help print the _CST parsing process to help narrow down.
Comment 2 Ard Biesheuvel 2020-12-29 12:58:47 UTC
If those SSDT tables sometimes disappear between boots, this is most likely a firmware problem not a Linux problem.
Comment 3 Chen Yu 2020-12-29 13:40:25 UTC
(In reply to Ard Biesheuvel from comment #2)
> If those SSDT tables sometimes disappear between boots, this is most likely
> a firmware problem not a Linux problem.

Indeed, the _CST is in SSDT, and if it is missing, the acpi_cpuidle would not be loaded. Neither does intel_idle without customized table.
Comment 4 kk0xf0 2021-01-21 21:39:15 UTC
I've ended up with customized SSDT tables (dumped from the working boot) and it seems to work. I must say it's just great that you can do that so easily (I mean custom tables)!.

Let me know you still want the acpi debug.

PS, The same issue was with Xeon x3360.
Comment 5 Chen Yu 2021-01-22 02:21:32 UTC
Glad to hear that custom table helps. I don't think we can deal with this BIOS issue for now.

Note You need to log in before you can comment on or make changes to this bug.