[REGRESSION] libata: SATA LPM forcibly disabled on Intel Jasper Lake since Linux 6.13
From: Bernard Drozd
Date: Sun Dec 14 2025 - 10:28:18 EST
Hello,
I am reporting a power-management regression in libata affecting Intel Jasper Lake platforms, introduced after Linux 6.12.
Hardware:
- CPU / SoC: Intel Jasper Lake (Elkhart Lake class)
- SATA controller: Intel Jasper Lake SATA AHCI Controller (PCI ID 8086:4d03)
- Drives tested: SATA SSD + SATA HDD (multiple vendors)
- Distribution: Debian 13 (Trixie)
- Kernel versions tested:
- 6.12.x → OK
- 6.17.x → REGRESSION
Problem description:
Since kernel >= 6.13, SATA Link Power Management (LPM) is forcibly disabled.
The sysfs interface still exists but only reports:
/sys/class/scsi_host/host*/link_power_management_policy = max_performance
Attempts to change it fail silently or are ignored:
echo 'med_power_with_dipm' > '/sys/class/scsi_host/host0/link_power_management_policy'
echo 'med_power_with_dipm' > '/sys/class/scsi_host/host1/link_power_management_policy'
This worked correctly on kernel 6.12.x and earlier.
Observed effects:
- SATA devices never enter partial/slumber
- CPU package C-states are limited (system mostly stuck in PC2 (before the change i had C10))
- Idle power consumption increases by ~5 W
- powertop shows SATA LPM tunables as permanently "Bad"
Relevant dmesg output (6.17.x):
ata1: SATA link power management disabled due to platform quirk
ata2: SATA link power management disabled due to platform quirk
This appears to be caused by the libata change disabling LPM on Intel platforms
without a per-platform whitelist. Jasper Lake does not exhibit instability with
LPM enabled and worked reliably on previous kernels.
Expectation:
- Either re-enable LPM for Intel Jasper Lake
- Or provide a kernel parameter to override the forced LPM disable
(e.g. libata.allow_lpm=1)
This regression significantly impacts low-power systems and fanless mini-PCs
based on Jasper Lake.
Please let me know if additional logs or testing are needed.
Best regards,
bern