PERFORCE change 177570 for review

Alexander Motin mav at FreeBSD.org
Sat May 1 20:16:31 UTC 2010


http://p4web.freebsd.org/@@177570?ac=10

Change 177570 by mav at mav_mavtest on 2010/05/01 20:16:04

	Add SATA capabilities reporting (PM) support to siis.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#47 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#17 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#47 (text+ko) ====

@@ -448,6 +448,8 @@
 		ch->user[i].bytecount = 8192;
 		ch->user[i].tags = SIIS_MAX_SLOTS;
 		ch->curr[i] = ch->user[i];
+		if (ch->pm_level)
+			ch->user[i].caps = CTS_SATA_CAPS_H_PMREQ;
 	}
 	mtx_init(&ch->mtx, "SIIS channel lock", NULL, MTX_DEF);
 	rid = ch->unit;
@@ -1697,6 +1699,8 @@
 		}
 		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_TAGS)
 			d->atapi = cts->xport_specific.sata.atapi;
+		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_CAPS)
+			d->caps = cts->xport_specific.sata.caps;
 		ccb->ccb_h.status = CAM_REQ_CMP;
 		break;
 	}
@@ -1729,9 +1733,17 @@
 				cts->xport_specific.sata.valid |=
 				    CTS_SATA_VALID_REVISION;
 			}
+			cts->xport_specific.sata.caps = d->caps & CTS_SATA_CAPS_D;
+			if (ch->pm_level)
+				cts->xport_specific.sata.caps |= CTS_SATA_CAPS_H_PMREQ;
+			cts->xport_specific.sata.caps &=
+			    ch->user[ccb->ccb_h.target_id].caps;
+			cts->xport_specific.sata.valid |= CTS_SATA_VALID_CAPS;
 		} else {
 			cts->xport_specific.sata.revision = d->revision;
 			cts->xport_specific.sata.valid |= CTS_SATA_VALID_REVISION;
+			cts->xport_specific.sata.caps = d->caps;
+			cts->xport_specific.sata.valid |= CTS_SATA_VALID_CAPS;
 		}
 		cts->xport_specific.sata.mode = d->mode;
 		cts->xport_specific.sata.valid |= CTS_SATA_VALID_MODE;

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#17 (text+ko) ====

@@ -358,6 +358,7 @@
 	u_int			bytecount;
 	u_int			atapi;
 	u_int			tags;
+	u_int			caps;
 };
 
 /* structure describing an ATA channel */


More information about the p4-projects mailing list