84:
85: OutB(REG_DRVHEAD, dno = drDRV(drvno));
86: WaitUsec(4); /* Waiting is necessary depending on drive */
99: reg = (drv->d.pcc.IOConf[0] & IOC_IO2_NONE)? REG_DEVCTL : REG_DEVCTL2;
100: OutB(reg, dcNORM);
101: }
145: reg = (drv->d.pcc.IOConf[0] & IOC_IO2_NONE)? REG_DEVCTL : REG_DEVCTL2;
146: OutB(reg, dcSRST);
147: WaitUsec(20); /* Wait for "20 usec" */
148: OutB(reg, dcNORM);
149:
175: /* The drive/header number register setting */
176: OutB(REG_DRVHEAD, drDRV(drv->DrvNo) | head);
177:
182: if (cnt != NOSET) {
183: OutB(REG_SECCNT, cnt);
184: }
187: if (sec != NOSET) {
188: OutB(REG_SECNO, sec);
189: }
192: if (cyl != NOSET) {
193: OutB(REG_CYL_L, cyl);
194: OutB(REG_CYL_H, cyl >> 8);
195: }
197: /* Future register setting */
198: if ((cmd & 0xFF00) != 0) OutB(REG_FEATURE, cmd >> 8);
199:
207: /* Command register setting */
208: OutB(REG_CMD, cmd);
209: return E_OK;