]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-timing.h
[NETPOLL]: no need to store local_mac
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-timing.h
index e6cb8593b5ba8382ce4e481e524bdcf6b1de3ca7..daffbb9797e18d756299786d2326e0f892fe67f6 100644 (file)
@@ -106,23 +106,6 @@ static struct ide_timing ide_timing[] = {
 #define XFER_EPIO      0x01
 #define XFER_PIO       0x00
 
-static short ide_find_best_pio_mode(ide_drive_t *drive)
-{
-       struct hd_driveid *id = drive->id;
-       short best = 0;
-
-       if (id->field_valid & 2) {      /* EIDE PIO modes */
-
-               if ((best = (drive->id->eide_pio_modes & 4) ? XFER_PIO_5 :
-                           (drive->id->eide_pio_modes & 2) ? XFER_PIO_4 :
-                           (drive->id->eide_pio_modes & 1) ? XFER_PIO_3 : 0)) return best;
-       }
-       
-       return  (drive->id->tPIO == 2) ? XFER_PIO_2 :
-               (drive->id->tPIO == 1) ? XFER_PIO_1 :
-               (drive->id->tPIO == 0) ? XFER_PIO_0 : XFER_PIO_SLOW;
-}
-
 static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q, int T, int UT)
 {
        q->setup   = EZ(t->setup   * 1000,  T);
@@ -212,7 +195,8 @@ static int ide_timing_compute(ide_drive_t *drive, short speed, struct ide_timing
  */
 
        if ((speed & XFER_MODE) != XFER_PIO) {
-               ide_timing_compute(drive, ide_find_best_pio_mode(drive), &p, T, UT);
+               u8 pio = ide_get_best_pio_mode(drive, 255, 5);
+               ide_timing_compute(drive, XFER_PIO_0 + pio, &p, T, UT);
                ide_timing_merge(&p, t, t, IDE_TIMING_ALL);
        }