+ /*
+ * Set up the command, and then if this is a mt ioctl,
+ * do the operation using, for TM_SFORW and TM_SREV, the specified
+ * operation count.
+ */
+ cmd = TM_IE | TM_GO | (ui->ui_slave << 8);
+ if ((minor(bp->b_dev) & T_1600BPI) == 0)
+ cmd |= TM_D800;
+ if (bp == &ctmbuf[unit]) {
+ if (bp->b_command == TM_SENSE)
+ goto next;
+ um->um_tab.b_active =
+ bp->b_command == TM_REW ? SREW : SCOM;
+ if (bp->b_command == TM_SFORW || bp->b_command == TM_SREV)
+ addr->tmbc = bp->b_repcnt;
+ goto dobpcmd;
+ }
+ /*
+ * If the data transfer command is in the correct place,
+ * set up all the registers except the csr, and give
+ * control over to the UNIBUS adapter routines, to
+ * wait for resources to start the i/o.
+ */
+ if ((blkno = sc->sc_blkno) == dbtofsb(bp->b_blkno)) {