On 1/30/25 10:35 PM, Niklas Cassel wrote:
> 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.
>
> Signed-off-by: Niklas Cassel <cassel@xxxxxxxxxx>
Looks good to me.
Reviewed-by: Damien Le Moal <dlemoal@xxxxxxxxxx>
--
Damien Le Moal
Western Digital Research