]> Gentwo Git Trees - linux/.git/commit
ata: libata-core: Add 'external' to the libata.force kernel parameter
authorNiklas Cassel <cassel@kernel.org>
Thu, 30 Jan 2025 13:35:46 +0000 (14:35 +0100)
committerNiklas Cassel <cassel@kernel.org>
Mon, 3 Feb 2025 12:09:24 +0000 (13:09 +0100)
commitdeca423213cb33feda15e261e7b5b992077a6a08
tree90b6ae8781213f1d397bea35c77ca5a5c5b07e9b
parent2014c95afecee3e76ca4a56956a936e23283f05b
ata: libata-core: Add 'external' to the libata.force kernel parameter

Commit ae1f3db006b7 ("ata: ahci: do not enable LPM on external ports")
changed so that LPM is not enabled on external ports (hotplug-capable or
eSATA ports).

This is because hotplug and LPM are mutually exclusive, see 7.3.1 Hot Plug
Removal Detection and Power Management Interaction in AHCI 1.3.1.

This does require that firmware has set the appropate bits (HPCP or ESP)
in PxCMD (which is a per port register in the AHCI controller).

If the firmware has failed to mark a port as hotplug-capable or eSATA in
PxCMD, then there is currently not much a user can do.

If LPM is enabled on the port, hotplug insertions and removals will not be
detected on that port.

In order to allow a user to fix up broken firmware, add 'external' to the
libata.force kernel parameter.

libata.force can be specified either on the kernel command line, or as a
kernel module parameter.

For more information, see Documentation/admin-guide/kernel-parameters.txt.

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20250130133544.219297-4-cassel@kernel.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Documentation/admin-guide/kernel-parameters.txt
drivers/ata/libata-core.c