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