https://bugzilla.kernel.org/show_bug.cgi?id=218696 Bug ID: 218696 Summary: DYTC frequency scaling deterioration Product: Drivers Version: 2.5 Hardware: All OS: Linux Status: NEW Severity: normal Priority: P3 Component: Platform_x86 Assignee: drivers_platform_x86@xxxxxxxxxxxxxxxxxxxx Reporter: lmulling@xxxxxxxxx Regression: No Created attachment 306108 --> https://bugzilla.kernel.org/attachment.cgi?id=306108&action=edit ACPI Feilds dump before during and after the problem Hi, I'm trying to implement automatic user-space platform profile controls for my ThinkPad and noticed that while under load, i.e. compiling the kernel, the firmware (I think) will start sending `ibm/hotkey LEN0268:00 00000080 00006032` events non-stop, which causes thinkpad_acpi to update the platform profile. This happens once every second. However, the profile doe's not change. This render any userspace tool useless, since we cannot react according to Fn + [L|M|H] events. While this is happening, the max frequency scaling will get stuck at a maximum of around 2990MHz (78 C). The baseline for this model, from my measurements, is 3.400MHz (95 C). This seems to happen only if the GPU is used and DYTC is in MMC mode. I can reproduce this reliably by playing a full-screen YouTube video while compiling the kernel. Changing platform profile to low-power and then back to performance fixes this for a while. I've also noticed that leaving the deceive sleeping for long periods of time fixes this. I've tried looking at the DYTC implementation but didn't find anything special about going into low-power, I've tried to dump the the ACPI fields using acpi_dbg, but haven't found anything useful yet. I've attached the dumps (in the same file), which are: - before, taken after reboot. - during, taken while the firmware is sending 6032 events and frequency scaling is stuck; - after, taken after changing the platform profile to low-power and back to performance (this was done using Fn + L then Fn + H) Bellow, also, is the diff between during and after. But it does not show anything useful to me. ``` --- during 2024-04-08 15:17:49.998768985 -0300 +++ after 2024-04-08 15:20:56.829128627 -0300 @@ -151,7 +151,7 @@ \_SB.PCI0.SMB.LRG3 {00000000000000FF} \_SB.PCI0.SMB.LHC3 {00000000000000FF} \_SB.PCI0.SMB.SEC {0000000000000031} -\_SB.PCI0.SMB.MIN {0000000000000017} +\_SB.PCI0.SMB.MIN {0000000000000020} \_SB.PCI0.SMB.MX01 {00000000000000FF} \_SB.PCI0.SMB.MX07 {00000000000000FF} \_SB.PCI0.SMB.MX14 {00000000000000FF} @@ -191,7 +191,7 @@ \_SB.PCI0.SMB.MS04 {00000000000000F0} \_SB.PCI0.SMB.MS40 {0000000000000042} \_SB.PCI0.SMB.ECES {0000000000000000} -\_SB.PCI0.LPC0.EC0.SBVO {000000000000317B} +\_SB.PCI0.LPC0.EC0.SBVO {000000000000317A} \_SB.PCI0.LPC0.EC0.SBAC {0000000000000000} \_SB.PCI0.LPC0.EC0.SBRS {0000000000000064} \_SB.PCI0.LPC0.EC0.SBRC {000000000000110A} @@ -210,7 +210,7 @@ \_SB.PCI0.LPC0.EC0.SBCH {000000000050694C} \_SB.PCI0.LPC0.EC0.SBMN {53 4D 50 00 32 30 32 31 00 00 00 00 00 00 C0 C0 } \_SB.PCI0.LPC0.EC0.SBDN {4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39 } -\_SB.PCI0.LPC0.EC0.TWBT {C0 C0 01 03 E0 41 00 00 00 00 00 00 00 00 00 00 C0 C0 20 E0 DC 0B 7B 31 00 00 00 00 64 00 0A 11 C0 C0 0A 11 FF FF FF FF FF FF E0 00 0A 00 14 0C C0 C0 68 10 F2 2B 31 00 B4 56 8F 06 EE 12 00 00 C0 C0 53 4D 50 00 32 30 32 31 00 00 00 00 00 00 C0 C0 4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39 C0 C0 4C 69 50 00 00 00 00 00 00 00 00 00 00 00 C0 C0 58 32 58 50 33 35 4C 30 31 4C 46 00 00 00 C0 C0 4C 58 C1 41 80 00 05 00 42 05 00 01 06 00 C0 C0 10 00 02 00 00 00 00 00 00 00 00 00 00 00 C0 C0 42 01 01 01 00 00 7E 10 7E 10 7E 10 04 50 C0 C0 B0 01 B6 0A 29 02 00 00 00 00 00 00 00 00 C0 C0 00 07 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 } +\_SB.PCI0.LPC0.EC0.TWBT {C0 C0 01 03 E0 41 00 00 00 00 00 00 00 00 00 00 C0 C0 20 E0 DE 0B 7A 31 00 00 00 00 64 00 0A 11 C0 C0 0A 11 FF FF FF FF FF FF E0 00 0A 00 0D 0C C0 C0 68 10 F2 2B 31 00 B4 56 8F 06 EE 12 00 00 C0 C0 53 4D 50 00 32 30 32 31 00 00 00 00 00 00 C0 C0 4C 4E 56 2D 35 42 31 31 48 35 36 33 33 39 C0 C0 4C 69 50 00 00 00 00 00 00 00 00 00 00 00 C0 C0 58 32 58 50 33 35 4C 30 31 4C 46 00 00 00 C0 C0 4C 58 C1 41 80 00 05 00 42 05 00 01 06 00 C0 C0 10 00 02 00 00 00 00 00 00 00 00 00 00 00 C0 C0 42 01 01 01 00 00 7E 10 7E 10 7E 10 04 50 C0 C0 B0 01 B6 0A 29 02 00 00 00 00 00 00 00 00 C0 C0 00 07 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C0 C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 } \_SB.PCI0.LPC0.EC0.T2BT {00 01 00 00 00 00 00 00 7A 00 00 00 00 00 41 50 50 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 } \_SB.SMIB {00000000000000B0} \_SB.PEBA {00000000F8000000} @@ -903,5 +903,3 @@ \M414 {0000000000000B00} \M444 {00 00 00 00 00 00 00 00 00 } \M449 {00 00 00 00 00 00 00 00 00 } ``` Tested on: - Kernel: 6.8.1 - Host: 21C6000UBO - UEFI: 0.1.30 I'm willing to help debug this in any way I can, though i'm out of ideas right now. I'm also not sure if this is a firmware bug and wanted a second opinion before sinking more time into this. -- You may reply to this email to add a comment. You are receiving this mail because: You are watching the assignee of the bug.