ATA_ALTSTAT
ch->r_io[ATA_ALTSTAT].res = ch->r_io[ATA_CONTROL].res;
ch->r_io[ATA_ALTSTAT].offset = ch->r_io[ATA_CONTROL].offset;
if (!(ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_DSC))
if (!(ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_DSC))
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY) {
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY)
status = ATA_IDX_INB(ch, ATA_ALTSTAT);
status = ATA_IDX_INB(ch, ATA_ALTSTAT);
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY) {
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY)
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY) {
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY)
ch->r_io[ATA_ALTSTAT].offset = ch_offset + 0x28;
res->status = ATA_INB(ch->r_mem, ATA_ALTSTAT);
ATA_INB(ch->r_mem, ATA_ALTSTAT));
uint8_t status = ATA_INB(ch->r_mem, clear ? ATA_STATUS : ATA_ALTSTAT);
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY) {
if (ATA_IDX_INB(ch, ATA_ALTSTAT) & ATA_S_BUSY)