[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