Hello Damien,

Hope you are doing well. I am Chaitanya from the linux graphics team in Intel.

This mail is regarding a regression we are seeing in our CI runs[1] on
linux-next repository.

Since the version next-20250708 [2], we are seeing the following regression

`````````````````````````````````````````````````````````````````````````````````
(kms_pm_rpm:5821) igt_pm-CRITICAL: Test assertion failure function __igt_pm_enable_sata_link_power_management, file ../lib/igt_pm.c:392:

(kms_pm_rpm:5821) igt_pm-CRITICAL: Failed assertion: write(fd, "min_power\n", strlen("min_power\n")) == strlen("min_power\n")

(kms_pm_rpm:5821) igt_pm-CRITICAL: Last errno: 95, Operation not supported

(kms_pm_rpm:5821) igt_pm-CRITICAL: error: -1 != 10

Test kms_pm_rpm failed.
`````````````````````````````````````````````````````````````````````````````````
Details log can be found in [3].

After bisecting the tree, the following patch [4] seems to be the first "bad" commit

`````````````````````````````````````````````````````````````````````````````````````````````````````````
commit 4edf1505b76d30e1e1e283d431e4f84ad01ddcef

Author: Damien Le Moal dlem...@kernel.org

Date:   Tue Jul 1 21:53:18 2025 +0900


    ata: ahci: Disallow LPM policy control for external ports
`````````````````````````````````````````````````````````````````````````````````````````````````````````

For some context in our kms_pm_rpm tests, we enable min_power policy for SATA so that we can reach deep runtime power states and restore the original policy after finishing. [5][6]

IIUC, the above change is based on spec and not something which can be reverted. So as I see it, we have to drop this code path for external ports. However I am not sure if we can achieve deep power states without enforcing it through the sysfs entry.

Atleast for the basic-rte subtest, the test passes if we comment out the functions controlling the SATA ports. We will need more testing to determine if this approach work. Any thoughts on it?

Also, are there other ways to detect a port is external other than receiving EOPNOTSUPP on the sysfs write?


Thank you.

Regards

Chaitanya

[1] https://intel-gfx-ci.01.org/tree/linux-next/combined-alt.html?
[2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20250708 [3] https://gfx-ci.igk.intel.com/tree/linux-next/next-20250703/fi-ilk-650/igt@kms_pm_...@basic-pci-d3-state.html [4] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20250708&id=4edf1505b76d30e1e1e283d431e4f84ad01ddcef [5] https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/tests/intel/i915_pm_rpm.c?ref_type=heads [6] https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/blob/master/lib/igt_pm.c?ref_type=heads#L457

Reply via email to