Lines Matching refs:ireason
333 void ide_read_bcount_and_ireason(ide_drive_t *drive, u16 *bcount, u8 *ireason) in ide_read_bcount_and_ireason() argument
341 *ireason = tf.nsect & 3; in ide_read_bcount_and_ireason()
354 int ireason, int rw) in ide_check_ireason() argument
358 debug_log("ireason: 0x%x, rw: 0x%x\n", ireason, rw); in ide_check_ireason()
360 if (ireason == (!rw << 1)) in ide_check_ireason()
362 else if (ireason == (rw << 1)) { in ide_check_ireason()
368 } else if (!rw && ireason == ATAPI_COD) { in ide_check_ireason()
378 if (ireason & ATAPI_COD) in ide_check_ireason()
384 drive->name, __func__, ireason); in ide_check_ireason()
408 u8 stat, ireason, dsc = 0; in ide_pc_intr() local
517 ide_read_bcount_and_ireason(drive, &bcount, &ireason); in ide_pc_intr()
519 if (ide_check_ireason(drive, rq, bcount, ireason, write)) in ide_pc_intr()
562 static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason) in ide_wait_ireason() argument
566 while (retries-- && ((ireason & ATAPI_COD) == 0 || in ide_wait_ireason()
567 (ireason & ATAPI_IO))) { in ide_wait_ireason()
571 ireason = ide_read_ireason(drive); in ide_wait_ireason()
576 ireason |= ATAPI_COD; in ide_wait_ireason()
577 ireason &= ~ATAPI_IO; in ide_wait_ireason()
581 return ireason; in ide_wait_ireason()
602 u8 ireason; in ide_transfer_pc() local
642 ireason = ide_read_ireason(drive); in ide_transfer_pc()
644 ireason = ide_wait_ireason(drive, ireason); in ide_transfer_pc()
646 if ((ireason & ATAPI_COD) == 0 || (ireason & ATAPI_IO)) { in ide_transfer_pc()