ATA_S_DRQ
#define ATAPI_P_READ (ATA_S_DRQ | ATA_I_IN)
#define ATAPI_P_WRITE (ATA_S_DRQ)
#define ATAPI_P_CMDOUT (ATA_S_DRQ | ATA_I_CMD)
#define ATAPI_P_DONEDRQ (ATA_S_DRQ | ATA_I_CMD | ATA_I_IN)
if (ata_wait(ch, atadev, (ATA_S_READY | ATA_S_DRQ)) < 0) {
int flags = ATA_S_DRQ;
if (ata_wait(ch, atadev, (ATA_S_READY | ATA_S_DRQ)) < 0) {
(request->status & ATA_S_DRQ)) {
if (!(request->status & ATA_S_DRQ)) {
(status & (ATA_S_DRQ | ATA_S_BUSY))) == ATAPI_P_CMDOUT)
(ATA_S_BUSY | ATA_S_DRQ)) {