Lines Matching defs:mbx
147 struct mcd_mbx mbx;
263 struct mcd_mbox mbx;
300 mbx.cmd.opcode = MCD_CMDCONFIGDRIVE;
301 mbx.cmd.length = sizeof(mbx.cmd.data.config) - 1;
302 mbx.cmd.data.config.subcommand = MCD_CF_IRQENABLE;
303 mbx.cmd.data.config.data1 = 0x01;
304 mbx.res.length = 0;
305 (void) mcd_send(sc, &mbx, 0);
544 sc->mbx.retry = MCD_RDRETRIES;
545 sc->mbx.bp = bp;
546 sc->mbx.blkno = bp->b_rawblkno;
547 sc->mbx.nblk = bp->b_bcount / sc->blksize;
548 sc->mbx.sz = sc->blksize;
549 sc->mbx.skip = 0;
550 sc->mbx.state = MCD_S_BEGIN;
551 sc->mbx.mode = MCD_MD_COOKED;
798 struct mcd_mbox mbx;
803 mbx.cmd.opcode = MCD_CMDGETVOLINFO;
804 mbx.cmd.length = 0;
805 mbx.res.length = sizeof(mbx.res.data.volinfo);
806 if ((error = mcd_send(sc, &mbx, 1)) != 0)
809 if (mbx.res.data.volinfo.trk_low == 0x00 &&
810 mbx.res.data.volinfo.trk_high == 0x00)
814 sc->volinfo = mbx.res.data.volinfo;
845 struct mcd_mbox mbx;
859 mbx.cmd.opcode = MCD_CMDGETSTAT;
860 mbx.cmd.length = 0;
861 mbx.res.length = 0;
862 if (mcd_send(sc, &mbx, 0) != 0)
866 mbx.cmd.opcode = MCD_CMDCONTINFO;
867 mbx.cmd.length = 0;
868 mbx.res.length = sizeof(mbx.res.data.continfo);
869 if (mcd_send(sc, &mbx, 0) != 0)
882 switch (mbx.res.data.continfo.code) {
884 if (mbx.res.data.continfo.version <= 2)
886 else if (mbx.res.data.continfo.version <= 5)
909 mbx.res.data.continfo.code, mbx.res.data.continfo.version);
990 struct mcd_mbox mbx;
992 mbx.cmd.opcode = MCD_CMDGETSTAT;
993 mbx.cmd.length = 0;
994 mbx.res.length = 0;
995 return mcd_send(sc, &mbx, 1);
1079 mcd_send(struct mcd_softc *sc, struct mcd_mbox *mbx, int diskin)
1087 mbx->cmd.length, (u_int)mbx->cmd.opcode);
1088 for (i = 0; i < mbx->cmd.length; i++)
1089 printf(" %02x", (u_int)mbx->cmd.data.raw.data[i]);
1094 bus_space_write_1(iot, ioh, MCD_COMMAND, mbx->cmd.opcode);
1095 for (i = 0; i < mbx->cmd.length; i++)
1097 mbx->cmd.data.raw.data[i]);
1098 if ((error = mcd_getresult(sc, &mbx->res)) == 0)
1171 struct mcd_mbx *mbx = &sc->mbx;
1172 struct buf *bp = mbx->bp;
1180 switch (mbx->state) {
1186 if (mbx->mode == sc->lastmode)
1191 bus_space_write_1(iot, ioh, MCD_COMMAND, mbx->mode);
1193 mbx->count = RDELAY_WAITMODE;
1194 mbx->state = MCD_S_WAITMODE;
1212 RDELAY_WAITMODE - mbx->count);
1214 sc->lastmode = mbx->mode;
1218 (int) mbx->blkno, bp);
1221 hsg2msf(mbx->blkno, msf);
1230 bus_space_write_1(iot, ioh, MCD_COMMAND, mbx->nblk);
1232 mbx->count = RDELAY_WAITREAD;
1233 mbx->state = MCD_S_WAITREAD;
1262 RDELAY_WAITREAD - mbx->count);
1267 (char *)bp->b_data + mbx->skip, mbx->sz);
1269 mbx->blkno += 1;
1270 mbx->skip += mbx->sz;
1271 if (--mbx->nblk > 0)
1274 mbx->state = MCD_S_IDLE;
1285 if (mbx->count-- < 0) {
1287 device_xname(sc->sc_dev), mbx->state);
1293 mbx->state);
1301 if (mbx->retry-- > 0) {
1310 bp->b_resid = bp->b_bcount - mbx->skip;
1344 struct mcd_mbox mbx;
1348 mbx.cmd.opcode = MCD_CMDRESET;
1349 mbx.cmd.length = 0;
1350 mbx.res.length = 0;
1351 return mcd_send(sc, &mbx, 0);
1357 struct mcd_mbox mbx;
1366 mbx.cmd.opcode = MCD_CMDSETMODE;
1367 mbx.cmd.length = sizeof(mbx.cmd.data.datamode);
1368 mbx.cmd.data.datamode.mode = mode;
1369 mbx.res.length = 0;
1370 if ((error = mcd_send(sc, &mbx, 1)) != 0)
1380 struct mcd_mbox mbx;
1389 mbx.cmd.opcode = MCD_CMDCONFIGDRIVE;
1390 mbx.cmd.length = sizeof(mbx.cmd.data.config) - 1;
1391 mbx
1392 mbx.cmd.data.config.data1 = upc;
1393 mbx.res.length = 0;
1394 if ((error = mcd_send(sc, &mbx, 1)) != 0)
1532 struct mcd_mbox mbx;
1538 mbx.cmd.opcode = MCD_CMDSTOPAUDIO;
1539 mbx.cmd.length = 0;
1540 mbx.res.length = 0;
1541 if ((error = mcd_send(sc, &mbx, 1)) != 0)
1551 struct mcd_mbox mbx;
1569 mbx.cmd.opcode = MCD_CMDGETQCHN;
1570 mbx.cmd.length = 0;
1571 mbx.res.length = sizeof(mbx.res.data.qchninfo);
1572 if ((error = mcd_send(sc, &mbx, 1)) != 0)
1575 *q = mbx.res.data.qchninfo;
1659 struct mcd_mbox mbx;
1679 mbx.cmd.opcode = MCD_CMDREADSINGLESPEED;
1680 mbx.cmd.length = sizeof(mbx.cmd.data.play);
1681 mbx.cmd.data.play.start_msf[0] = sc->toc[a].toc.absolute_pos[0];
1682 mbx.cmd.data.play.start_msf[1] = sc->toc[a].toc.absolute_pos[1];
1683 mbx.cmd.data.play.start_msf[2] = sc->toc[a].toc.absolute_pos[2];
1684 mbx.cmd.data.play.end_msf[0] = sc->toc[z+1].toc.absolute_pos[0];
1685 mbx.cmd.data.play.end_msf[1] = sc->toc[z+1].toc.absolute_pos[1];
1686 mbx.cmd.data.play.end_msf[2] = sc->toc[z+1].toc.absolute_pos[2];
1687 sc->lastpb = mbx.cmd;
1688 mbx.res.length = 0;
1689 return mcd_send(sc, &mbx, 1);
1695 struct mcd_mbox mbx;
1711 mbx.cmd.opcode = MCD_CMDREADSINGLESPEED;
1712 mbx.cmd.length = sizeof(mbx.cmd.data.play);
1713 mbx.cmd.data.play.start_msf[0] = bin2bcd(p->start_m);
1714 mbx.cmd.data.play.start_msf[1] = bin2bcd(p->start_s);
1715 mbx.cmd.data.play.start_msf[2] = bin2bcd(p->start_f);
1716 mbx.cmd.data.play.end_msf[0] = bin2bcd(p->end_m);
1717 mbx.cmd.data.play.end_msf[1] = bin2bcd(p->end_s);
1718 mbx.cmd.data.play.end_msf[2] = bin2bcd(p->end_f);
1719 sc->lastpb = mbx.cmd;
1720 mbx.res.length = 0;
1721 return mcd_send(sc, &mbx, 1);
1727 struct mcd_mbox mbx;
1741 mbx.cmd.opcode = MCD_CMDREADSINGLESPEED;
1742 mbx.cmd.length = sizeof(mbx.cmd.data.play);
1743 hsg2msf(p->blk, mbx.cmd.data.play.start_msf);
1744 hsg2msf(p->blk + p->len, mbx.cmd.data.play.end_msf);
1745 sc->lastpb = mbx.cmd;
1746 mbx.res.length = 0;
1747 return mcd_send(sc, &mbx, 1);
1784 struct mcd_mbox mbx;
1793 mbx.cmd = sc->lastpb;
1794 mbx.res.length = 0;
1795 return mcd_send(sc, &mbx, 1);
1801 struct mcd_mbox mbx;
1803 mbx.cmd.opcode = MCD_CMDEJECTDISK;
1804 mbx.cmd.length = 0;
1805 mbx.res.length = 0;
1806 return mcd_send(sc, &mbx, 0);
1812 struct mcd_mbox mbx;
1814 mbx.cmd.opcode = MCD_CMDSETLOCK;
1815 mbx.cmd.length = sizeof(mbx.cmd.data.lockmode);
1816 mbx.cmd.data.lockmode.mode = mode;
1817 mbx.res.length = 0;
1818 return mcd_send(sc, &mbx, 1);