Lines Matching refs:dstat

108 	u_short	dstat;
138 static void sii_DoIntr(struct siisoftc *sc, u_int dstat);
274 u_int dstat;
279 dstat = sc->sc_regs->dstat;
280 if (dstat & (SII_CI | SII_DI)) {
281 sii_DoIntr(sc, dstat);
343 regs->dstat = regs->dstat;
419 if ((status = regs->dstat) & (SII_CI | SII_DI)) {
480 sii_logp->dstat = 0;
490 SII_WAIT_UNTIL(status, regs->dstat, status & SII_MIS,
505 regs->dstat = SII_DNE; /* clear Msg Out DMA done */
514 SII_WAIT_UNTIL(status, regs->dstat, status & (SII_CI | SII_DI),
524 printf("sii_StartCmd: DONE ds %x\n", regs->dstat);
534 sii_DoIntr(sc, regs->dstat);
557 regs->dstat = 0xffff;
567 sii_DoIntr(struct siisoftc *sc, u_int dstat)
581 regs->cstat, dstat, comm);
584 sii_logp->dstat = dstat;
598 regs->dstat = dstat; /* acknowledge everything */
601 if (dstat & SII_CI) {
652 if (dstat & SII_DNE) {
678 if (dstat & SII_IPE) {
691 if (!(dstat & SII_TCZ))
693 } else if (!(dstat & SII_TCZ)) {
711 if (state->buflen > 0 && !(dstat & SII_MIS)) {
723 dstat &= ~(SII_IBF | SII_TBE);
735 if (state->buflen <= 0 || (dstat & SII_MIS))
760 dstat &= ~(SII_IBF | SII_TBE);
765 if (dstat & (SII_MIS | SII_IBF | SII_TBE)) {
778 cstat, dstat); /* XXX */
791 switch (dstat & SII_PHASE_MSK) {
835 SII_WAIT_UNTIL(dstat, regs->dstat,
836 dstat & (SII_CI | SII_DI), SII_WAIT_COUNT, i);
837 if (dstat & (SII_CI | SII_DI)) {
843 dstat, i);
864 (dstat & SII_PHASE_MSK)) {
906 if ((dstat & SII_PHASE_MSK) == SII_DATA_IN_PHASE) {
957 regs->dstat = SII_DNE;
980 dstat = regs->dstat;
993 SII_WAIT_UNTIL(dstat, regs->dstat,
994 dstat & (SII_CI | SII_DI), SII_WAIT_COUNT, i);
995 if (dstat & (SII_CI | SII_DI)) {
1016 if (dstat & SII_OBB)
1030 regs->dstat = SII_DNE;
1038 if (((dstat & SII_OBB) != 0) ^
1042 if (((dstat & SII_OBB) != 0) ^
1045 dstat, state->dmaCnt);
1055 dstat = regs->dstat;
1073 SII_WAIT_UNTIL(dstat, regs->dstat,
1074 dstat & SII_DNE, SII_WAIT_COUNT, i);
1075 regs->dstat = SII_DNE;
1114 SII_WAIT_UNTIL(dstat, regs->dstat,
1115 dstat & SII_DNE, SII_WAIT_COUNT, i);
1116 regs->dstat = SII_DNE;
1121 dstat = regs->dstat;
1133 dstat = sii_GetByte(regs,
1135 if ((int)dstat < 0) {
1136 dstat = regs->dstat;
1139 sii_buf[i + 2] = dstat;
1148 SII_WAIT_UNTIL(dstat, regs->dstat,
1149 dstat & SII_DNE,
1151 regs->dstat = SII_DNE;
1171 SII_WAIT_UNTIL(dstat, regs->dstat,
1172 dstat & SII_DNE,
1174 regs->dstat = SII_DNE;
1188 SII_WAIT_UNTIL(dstat, regs->dstat,
1189 dstat & SII_DNE,
1191 regs->dstat = SII_DNE;
1195 SII_WAIT_UNTIL(dstat, regs->dstat,
1196 dstat & SII_TBE,
1204 SII_WAIT_UNTIL(dstat, regs->dstat,
1205 dstat & SII_DNE,
1207 regs->dstat = SII_DNE;
1217 SII_WAIT_UNTIL(dstat, regs->dstat,
1218 dstat & SII_DNE, SII_WAIT_COUNT, i);
1219 regs->dstat = SII_DNE;
1222 SII_WAIT_UNTIL(dstat, regs->dstat,
1223 dstat & (SII_CI | SII_DI),
1225 if (dstat & (SII_CI | SII_DI)) {
1238 SII_WAIT_UNTIL(dstat, regs->dstat,
1239 dstat & SII_DNE, SII_WAIT_COUNT, i);
1240 regs->dstat = SII_DNE;
1261 dstat = regs->dstat;
1283 SII_WAIT_UNTIL(dstat, regs->dstat,
1284 dstat & SII_DNE, SII_WAIT_COUNT, i);
1285 regs->dstat = SII_DNE;
1306 SII_WAIT_UNTIL(dstat, regs->dstat,
1307 dstat & SII_DNE, SII_WAIT_COUNT, i);
1308 regs->dstat = SII_DNE;
1312 SII_WAIT_UNTIL(dstat, regs->dstat,
1313 dstat & (SII_CI | SII_DI),
1315 if (dstat & (SII_CI | SII_DI)) {
1347 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & SII_DNE,
1351 printf("ds %x i %d\n", dstat, i);
1354 if (dstat & SII_DNE) {
1355 regs->dstat = SII_DNE;
1362 device_xname(sc->sc_dev), dstat & SII_PHASE_MSK);
1372 * Deglitch dstat register.
1374 msg = regs->dstat;
1375 while (msg != (dstat = regs->dstat))
1376 msg = dstat;
1377 if (dstat & (SII_CI | SII_DI))
1402 regs->dstat = SII_DNE;
1407 SII_WAIT_UNTIL(dstat, regs->dstat,
1408 (dstat & (SII_DNE | SII_PHASE_MSK)) ==
1413 printf("Abort: cs %x ds %x i %d\n", cstat, dstat, i);
1415 if ((dstat & (SII_DNE | SII_PHASE_MSK)) ==
1430 regs->dstat = 0xffff;
1530 regs->dstat = 0xffff;
1551 u_int dstat;
1556 dstat = regs->dstat;
1559 if (!(dstat & SII_IBF) || (dstat & SII_MIS)) {
1563 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & SII_IBF,
1566 if (!(dstat & SII_IBF))
1570 if (dstat & SII_DNE) { /* XXX */
1575 regs->dstat = SII_DNE;
1579 if (dstat & SII_IPE) {
1585 data, dstat, regs->comm, i); /* XXX */
1595 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & SII_DNE,
1599 if (dstat & SII_DNE) {
1600 regs->dstat = SII_DNE;
1614 u_int dstat, comm;
1642 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & SII_TBE,
1644 if (!(dstat & SII_TBE) ||
1645 (dstat & SII_PHASE_MSK) != SII_MSG_OUT_PHASE) {
1647 dstat, comm, i); /* XXX */
1660 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & SII_DNE,
1663 if (!(dstat & SII_DNE)) {
1665 dstat, comm, i); /* XXX */
1670 regs->dstat = SII_DNE;
1680 regs->dstat); /* XXX */
1689 SII_WAIT_UNTIL(dstat, regs->dstat,
1690 (dstat & (SII_DNE | SII_TCZ)) == (SII_DNE | SII_TCZ),
1693 if ((dstat & (SII_DNE | SII_TCZ)) != (SII_DNE | SII_TCZ)) {
1695 dstat, regs->comm, i, regs->dmlotc); /* XXX */
1700 regs->dstat = SII_DNE;
1705 SII_WAIT_UNTIL(dstat, regs->dstat, dstat & (SII_CI | SII_DI),
1708 dstat, regs->comm, i, regs->dmlotc); /* XXX */
1726 if (regs->dstat & SII_DNE) { /* XXX */
1727 regs->dstat = SII_DNE;
1743 regs->cstat, regs->dstat, regs->comm, size);
1821 lp->target, lp->cstat, lp->dstat, lp->comm, lp->msg,