Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Feb 2010 12:00:57 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r203426 - head/sys/dev/ahci
Message-ID:  <201002031200.o13C0vPG087449@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Wed Feb  3 12:00:57 2010
New Revision: 203426
URL: http://svn.freebsd.org/changeset/base/203426

Log:
  Disable PHY of unconnected ports when interface power management enabled.
  It allows to save a bit more power (about 0.5W on 2 unused ports of ICH8M).

Modified:
  head/sys/dev/ahci/ahci.c

Modified: head/sys/dev/ahci/ahci.c
==============================================================================
--- head/sys/dev/ahci/ahci.c	Wed Feb  3 11:22:03 2010	(r203425)
+++ head/sys/dev/ahci/ahci.c	Wed Feb  3 12:00:57 2010	(r203426)
@@ -2297,7 +2297,12 @@ ahci_sata_phy_reset(device_t dev)
 	    ATA_SC_DET_IDLE | val | ((ch->pm_level > 0) ? 0 :
 	    (ATA_SC_IPM_DIS_PARTIAL | ATA_SC_IPM_DIS_SLUMBER)));
 	DELAY(5000);
-	return (ahci_sata_connect(ch));
+	if (!ahci_sata_connect(ch)) {
+		if (ch->pm_level > 0)
+			ATA_OUTL(ch->r_mem, AHCI_P_SCTL, ATA_SC_DET_DISABLE);
+		return (0);
+	}
+	return (1);
 }
 
 static void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201002031200.o13C0vPG087449>