• Shane Huang's avatar
    ahci: implement aggressive SATA device sleep support · 65fe1f0f
    Shane Huang authored
    Device Sleep is a feature as described in AHCI 1.3.1 Technical Proposal.
    This feature enables an HBA and SATA storage device to enter the DevSleep
    interface state, enabling lower power SATA-based systems.
    
    Aggressive Device Sleep enables the HBA to assert the DEVSLP signal as
    soon as there are no commands outstanding to the device and the port
    specific Device Sleep idle timer has expired. This enables autonomous
    entry into the DevSleep interface state without waiting for software
    in power sensitive systems.
    
    This patch enables Aggressive Device Sleep only if both host controller
    and device support it.
    
    Tested on AMD reference board together with Device Sleep supported device
    sample.
    Signed-off-by: default avatarShane Huang <shane.huang@amd.com>
    Reviewed-by: default avatarAaron Lu <aaron.lwe@gmail.com>
    Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
    65fe1f0f
libahci.c 59.7 KB