ATS_DRQ
if (!(status & ATS_DRQ)) {
if (!ata_wait3(io_hdl2, ioaddr2, ATS_DRQ, ATS_BSY, 0x7f,
(ATS_BSY | ATS_DRQ), 0x7f, ATS_BSY, 0x7f, ATS_BSY, 1000000)) {
ATS_DRQ, ATS_BSY, /* okay */
ASSERT((status & (ATS_BSY | ATS_DRQ)) == 0);
ATS_DRQ, ATS_BSY, ATS_ERR, ATS_BSY, ATS_DF, ATS_BSY, 4000000);
if ((status & (ATS_DRQ | ATS_DF | ATS_ERR)) != ATS_DRQ) {
if (status & ATS_DRQ) {
0, (ATS_DRQ | ATS_BSY), 4000000)) {
ATS_DRQ, ATS_BSY, ATS_ERR, ATS_BSY, ATS_DF, ATS_BSY, 4000000);
if ((status & (ATS_DRQ | ATS_DF | ATS_ERR)) != ATS_DRQ) {
0, (ATS_DRQ | ATS_BSY), 4000000)) {
(((unsigned char)((drq) & ATS_DRQ) >> 3) \
#define ATAPI_EVENT_PIO_OUT ATAPI_EVENT(ATS_DRQ, 0)
#define ATAPI_EVENT_CDB ATAPI_EVENT(ATS_DRQ, ATI_COD)
#define ATAPI_EVENT_PIO_IN ATAPI_EVENT(ATS_DRQ, ATI_IO)
#define ATAPI_EVENT_UNKNOWN ATAPI_EVENT(ATS_DRQ, (ATI_IO | ATI_COD))
ATS_DRQ, ATS_BSY, /* okay */