aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ahci/ahci.c
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2013-11-15 15:14:07 +0000
committerAlexander Motin <mav@FreeBSD.org>2013-11-15 15:14:07 +0000
commit9a6b4cb929df6f632526759ccc5911c011528af0 (patch)
tree29f57389c7113c18179e2f624f2fc9b83de8792b /sys/dev/ahci/ahci.c
parentc9b3a5a00b98036f7f84589fead078b52f3ad4f9 (diff)
downloadsrc-9a6b4cb929df6f632526759ccc5911c011528af0.tar.gz
src-9a6b4cb929df6f632526759ccc5911c011528af0.zip
Add few more minor parts of DevSleep support from AHCI 1.3.1 proposal.
Notes
Notes: svn path=/head/; revision=258173
Diffstat (limited to 'sys/dev/ahci/ahci.c')
-rw-r--r--sys/dev/ahci/ahci.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c
index 6f3a5b7237e5..e7efe59c19b7 100644
--- a/sys/dev/ahci/ahci.c
+++ b/sys/dev/ahci/ahci.c
@@ -1113,13 +1113,16 @@ ahci_ch_attach(device_t dev)
version = ATA_INL(ctlr->r_mem, AHCI_VS);
if (version < 0x00010200 && (ctlr->caps & AHCI_CAP_FBSS))
ch->chcaps |= AHCI_P_CMD_FBSCP;
+ if (ch->caps2 & AHCI_CAP2_SDS)
+ ch->chscaps = ATA_INL(ch->r_mem, AHCI_P_DEVSLP);
if (bootverbose) {
- device_printf(dev, "Caps:%s%s%s%s%s\n",
+ device_printf(dev, "Caps:%s%s%s%s%s%s\n",
(ch->chcaps & AHCI_P_CMD_HPCP) ? " HPCP":"",
(ch->chcaps & AHCI_P_CMD_MPSP) ? " MPSP":"",
(ch->chcaps & AHCI_P_CMD_CPD) ? " CPD":"",
(ch->chcaps & AHCI_P_CMD_ESP) ? " ESP":"",
- (ch->chcaps & AHCI_P_CMD_FBSCP) ? " FBSCP":"");
+ (ch->chcaps & AHCI_P_CMD_FBSCP) ? " FBSCP":"",
+ (ch->chscaps & AHCI_P_DEVSLP_DSP) ? " DSP":"");
}
/* Create the device queue for our SIM. */
devq = cam_simq_alloc(ch->numslots);