PERFORCE change 167616 for review
Alexander Motin
mav at FreeBSD.org
Sat Aug 22 17:07:01 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=167616
Change 167616 by mav at mav_mavbook on 2009/08/22 17:06:53
Report extended capabilities register content from AHCI 1.2.
Affected files ...
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#48 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#17 edit
Differences ...
==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#48 (text+ko) ====
@@ -121,7 +121,7 @@
struct ahci_controller *ctlr = device_get_softc(dev);
device_t child;
int error, unit, speed;
- u_int32_t version, caps;
+ u_int32_t version, caps, caps2;
ctlr->dev = dev;
/* if we have a memory BAR(5) we are likely on an AHCI part */
@@ -161,6 +161,7 @@
/* Announce HW capabilities. */
version = ATA_INL(ctlr->r_mem, AHCI_VS);
caps = ATA_INL(ctlr->r_mem, AHCI_CAP);
+ caps2 = ATA_INL(ctlr->r_mem, AHCI_CAP2);
speed = (caps & AHCI_CAP_ISS) >> AHCI_CAP_ISS_SHIFT;
device_printf(dev,
"AHCI v%x.%02x with %d %sGbps ports, Port Multiplier %s\n",
@@ -195,6 +196,10 @@
(caps & AHCI_CAP_EMS) ? " EM":"",
(caps & AHCI_CAP_SXS) ? " eSATA":"",
(caps & AHCI_CAP_NPMASK) + 1);
+ device_printf(dev, "Caps2:%s%s%s\n",
+ (caps2 & AHCI_CAP2_APST) ? " APST":"",
+ (caps2 & AHCI_CAP2_NVMP) ? " NVMP":"",
+ (caps2 & AHCI_CAP2_BOH) ? " BOH":"");
}
/* Attach all channels on this controller */
for (unit = 0; unit < ctlr->channels; unit++) {
@@ -524,6 +529,7 @@
ch->dev = dev;
ch->unit = (intptr_t)device_get_ivars(dev);
ch->caps = ATA_INL(ctlr->r_mem, AHCI_CAP);
+ ch->caps2 = ATA_INL(ctlr->r_mem, AHCI_CAP2);
ch->numslots = ((ch->caps & AHCI_CAP_NCS) >> AHCI_CAP_NCS_SHIFT) + 1,
resource_int_value(device_get_name(dev),
device_get_unit(dev), "pm_level", &ch->pm_level);
==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#17 (text+ko) ====
@@ -176,6 +176,11 @@
#define AHCI_PI 0x0c
#define AHCI_VS 0x10
+#define AHCI_CAP2 0x24
+#define AHCI_CAP2_BOH 0x00000001
+#define AHCI_CAP2_NVMP 0x00000002
+#define AHCI_CAP2_APST 0x00000004
+
#define AHCI_OFFSET 0x100
#define AHCI_STEP 0x80
@@ -336,6 +341,7 @@
struct cam_sim *sim;
struct cam_path *path;
uint32_t caps; /* Controller capabilities */
+ uint32_t caps2; /* Controller capabilities */
int numslots; /* Number of present slots */
int pm_level; /* power management level */
int sata_rev; /* Maximum allowed SATA generation */
More information about the p4-projects
mailing list