PMP_PORT_CTL
chp->ch_drive[PMP_PORT_CTL].drive_type == ATA_DRIVET_PM) {
KASSERT(port == 0 || port == PMP_PORT_CTL);
chp->ch_drive[PMP_PORT_CTL].drive_type = ATA_DRIVET_PM;
drvp = &chp->ch_drive[PMP_PORT_CTL];
KASSERT(drvp->drive == PMP_PORT_CTL);
KASSERT(chp->ch_satapmp_nports <= PMP_PORT_CTL);
if (satapmp_read(chp, PMP_PORT_CTL, PMP_GSCR_ID, &id, xfer) != 0 ||
satapmp_read(chp, PMP_PORT_CTL, PMP_GSCR_REV, &rev, xfer) != 0 ||
satapmp_read(chp, PMP_PORT_CTL, PMP_GSCR_INF, &inf, xfer) != 0) {
drvp = &chp->ch_drive[PMP_PORT_CTL];
KASSERT(drvp->drive == PMP_PORT_CTL);
error = ahci_do_reset_drive(chp, PMP_PORT_CTL, AT_WAIT,
PMP_PORT_CTL);
if (chp->ch_ndrives > PMP_PORT_CTL &&
chp->ch_drive[PMP_PORT_CTL].drive_type == ATA_DRIVET_PM) {
if (chp->ch_ndrives > PMP_PORT_CTL &&
chp->ch_drive[PMP_PORT_CTL].drive_type == ATA_DRIVET_PM) {
if (chp->ch_ndrives > PMP_PORT_CTL) {
if (chp->ch_ndrives > PMP_PORT_CTL) {
mvsata_pmp_select(mvport, PMP_PORT_CTL);
KASSERT(xfer->c_drive <= PMP_PORT_CTL);
KASSERT(xfer->c_drive <= PMP_PORT_CTL);
if (chp->ch_ndrives > PMP_PORT_CTL) {
KASSERT(drvp->drive <= PMP_PORT_CTL);
prb->prb_fis[rhd_c] = PMP_PORT_CTL;
KASSERT(xfer->c_drive <= PMP_PORT_CTL);