Lines Matching refs:ireason
323 void ide_read_bcount_and_ireason(ide_drive_t *drive, u16 *bcount, u8 *ireason) in ide_read_bcount_and_ireason() argument
331 *ireason = tf.nsect & 3; in ide_read_bcount_and_ireason()
344 int ireason, int rw) in ide_check_ireason() argument
348 debug_log("ireason: 0x%x, rw: 0x%x\n", ireason, rw); in ide_check_ireason()
350 if (ireason == (!rw << 1)) in ide_check_ireason()
352 else if (ireason == (rw << 1)) { in ide_check_ireason()
358 } else if (!rw && ireason == ATAPI_COD) { in ide_check_ireason()
368 if (ireason & ATAPI_COD) in ide_check_ireason()
374 drive->name, __func__, ireason); in ide_check_ireason()
398 u8 stat, ireason, dsc = 0; in ide_pc_intr() local
506 ide_read_bcount_and_ireason(drive, &bcount, &ireason); in ide_pc_intr()
508 if (ide_check_ireason(drive, rq, bcount, ireason, write)) in ide_pc_intr()
551 static u8 ide_wait_ireason(ide_drive_t *drive, u8 ireason) in ide_wait_ireason() argument
555 while (retries-- && ((ireason & ATAPI_COD) == 0 || in ide_wait_ireason()
556 (ireason & ATAPI_IO))) { in ide_wait_ireason()
560 ireason = ide_read_ireason(drive); in ide_wait_ireason()
565 ireason |= ATAPI_COD; in ide_wait_ireason()
566 ireason &= ~ATAPI_IO; in ide_wait_ireason()
570 return ireason; in ide_wait_ireason()
591 u8 ireason; in ide_transfer_pc() local
631 ireason = ide_read_ireason(drive); in ide_transfer_pc()
633 ireason = ide_wait_ireason(drive, ireason); in ide_transfer_pc()
635 if ((ireason & ATAPI_COD) == 0 || (ireason & ATAPI_IO)) { in ide_transfer_pc()