1 Aug 2012 20:21
[PATCH] ahci: implement aggressive SATA device sleep support
Shane Huang <shane.huang <at> amd.com>
2012-08-01 18:21:35 GMT
2012-08-01 18:21:35 GMT
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.
Signed-off-by: Shane Huang <shane.huang <at> amd.com>
---
drivers/ata/ahci.h | 14 +++++++++
drivers/ata/libahci.c | 71 ++++++++++++++++++++++++++++++++++++++++++++-
drivers/ata/libata-core.c | 9 ++++--
include/linux/ata.h | 2 ++
include/linux/libata.h | 1 +
5 files changed, 93 insertions(+), 4 deletions(-)
diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h
index c2594dd..7b6fcf7 100644
--- a/drivers/ata/ahci.h
+++ b/drivers/ata/ahci.h
<at> <at> -115,6 +115,9 <at> <at> enum {
HOST_CAP2_BOH = (1 << 0), /* BIOS/OS handoff supported */
HOST_CAP2_NVMHCI = (1 << 1), /* NVMHCI supported */
HOST_CAP2_APST = (1 << 2), /* Automatic partial to slumber */
+ HOST_CAP2_SDS = (1 << 3), /* Support device sleep */
+ HOST_CAP2_SADM = (1 << 4), /* Support aggressive DevSlp */
+ HOST_CAP2_DESO = (1 << 5), /* DevSlp from slumber only */
/* registers for each SATA port */
PORT_LST_ADDR = 0x00, /* command list DMA addr */
<at> <at> -133,6 +136,7 <at> <at> enum {
PORT_SCR_ACT = 0x34, /* SATA phy register: SActive */
PORT_SCR_NTF = 0x3c, /* SATA phy register: SNotification */
(Continue reading)
RSS Feed