ATS_BSY
(void) ata_wait3(io_hdl2, ioaddr2, 0, ATS_BSY, 0x7f, 0, 0x7f, 0,
if (status & ATS_BSY) {
((status & (ATS_BSY|ATS_DF)) == ATS_DF)) {
(void) ata_wait3(io_hdl2, ioaddr2, 0, ATS_BSY,
ATS_ERR, ATS_BSY, 0x7f, 0, 5 * 1000000);
if (status & ATS_BSY) {
if (!ata_wait3(io_hdl2, ioaddr2, ATS_DRQ, ATS_BSY, 0x7f,
ATS_BSY, 0x7f, ATS_BSY, 1000000)) {
(ATS_BSY | ATS_DRQ), 0x7f, ATS_BSY, 0x7f, ATS_BSY, 1000000)) {
ATS_BSY, busy_wait)) {
if (!ata_wait(io_hdl2, ata_ctlp->ac_ioaddr2, 0, ATS_BSY, busy_wait)) {
ATS_DRDY, ATS_BSY, /* okay */
ATS_ERR, ATS_BSY, /* cmd failed */
ATS_DF, ATS_BSY, /* drive failed */
if ((status & (ATS_BSY | ATS_DF | ATS_ERR)) == 0)
(void) ata_wait3(io_hdl2, ata_ctlp->ac_ioaddr2, 0, ATS_BSY,
ATS_ERR, ATS_BSY, ATS_DF, ATS_BSY, usecs_left);
if (status & ATS_BSY)
0, ATS_BSY, 5000000)) {
0, ATS_BSY, 5000000)) {
ATS_DRDY, ATS_BSY, 5 * 1000000)) {
ATS_DRQ, ATS_BSY, /* okay */
ATS_ERR, ATS_BSY, /* cmd failed */
ATS_DF, ATS_BSY, /* drive failed */
else if (ata_pktp->ap_status & ATS_BSY)
ASSERT((status & (ATS_BSY | ATS_DRQ)) == 0);
ATS_DRQ, ATS_BSY, ATS_ERR, ATS_BSY, ATS_DF, ATS_BSY, 4000000);
if (status & ATS_BSY) {
0, (ATS_DRQ | ATS_BSY), 4000000)) {
ASSERT(!(status & ATS_BSY));
ATS_DRQ, ATS_BSY, ATS_ERR, ATS_BSY, ATS_DF, ATS_BSY, 4000000);
if (status & ATS_BSY) {
0, (ATS_DRQ | ATS_BSY), 4000000)) {
if (!ata_wait(io_hdl2, ioaddr2, ATS_DRDY, ATS_BSY, 5 * 1000000)) {
if (!ata_wait(io_hdl2, ioaddr2, ATS_DRDY, ATS_BSY, 5 * 1000000)) {
0, ATS_BSY, 5000000)) {
if (!ata_wait(io_hdl2, ata_ctlp->ac_ioaddr2, 0, ATS_BSY, 5000000)) {
ATS_DRQ, ATS_BSY, /* okay */
ATS_ERR, ATS_BSY, /* cmd failed */
ATS_DF, ATS_BSY, /* cmd failed */
if (!ata_wait(io_hdl2, ata_ctlp->ac_ioaddr2, 0, ATS_BSY, 6 * 1000000)) {
if (status & ATS_BSY)