Lines Matching defs:drive
115 static short ide_find_best_mode(ide_drive_t *drive, int map)
117 struct hd_driveid *id = drive->id;
140 if ((map & XFER_MWDMA) && (id->field_valid & 2)) { /* Want MWDMA and drive has EIDE fields */
167 if ((best = (drive->id->eide_pio_modes & 4) ? XFER_PIO_5 :
168 (drive->id->eide_pio_modes & 2) ? XFER_PIO_4 :
169 (drive->id->eide_pio_modes & 1) ? XFER_PIO_3 : 0)) return best;
172 return (drive->id->tPIO == 2) ? XFER_PIO_2 :
173 (drive->id->tPIO == 1) ? XFER_PIO_1 :
174 (drive->id->tPIO == 0) ? XFER_PIO_0 : XFER_PIO_SLOW;
211 static int ide_timing_compute(ide_drive_t *drive, short speed, struct ide_timing *t, int T, int UT)
213 struct hd_driveid *id = drive->id;
224 * If the drive is an EIDE drive, it can tell us it needs extended
228 if (id && id->field_valid & 2) { /* EIDE drive */
260 ide_timing_compute(drive, ide_find_best_mode(drive, XFER_PIO | XFER_EPIO), &p, T, UT);