diff options
Diffstat (limited to 'drivers/ide/ide-timing.h')
-rw-r--r-- | drivers/ide/ide-timing.h | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/drivers/ide/ide-timing.h b/drivers/ide/ide-timing.h index e6cb8593b5ba..daffbb9797e1 100644 --- a/drivers/ide/ide-timing.h +++ b/drivers/ide/ide-timing.h | |||
@@ -106,23 +106,6 @@ static struct ide_timing ide_timing[] = { | |||
106 | #define XFER_EPIO 0x01 | 106 | #define XFER_EPIO 0x01 |
107 | #define XFER_PIO 0x00 | 107 | #define XFER_PIO 0x00 |
108 | 108 | ||
109 | static short ide_find_best_pio_mode(ide_drive_t *drive) | ||
110 | { | ||
111 | struct hd_driveid *id = drive->id; | ||
112 | short best = 0; | ||
113 | |||
114 | if (id->field_valid & 2) { /* EIDE PIO modes */ | ||
115 | |||
116 | if ((best = (drive->id->eide_pio_modes & 4) ? XFER_PIO_5 : | ||
117 | (drive->id->eide_pio_modes & 2) ? XFER_PIO_4 : | ||
118 | (drive->id->eide_pio_modes & 1) ? XFER_PIO_3 : 0)) return best; | ||
119 | } | ||
120 | |||
121 | return (drive->id->tPIO == 2) ? XFER_PIO_2 : | ||
122 | (drive->id->tPIO == 1) ? XFER_PIO_1 : | ||
123 | (drive->id->tPIO == 0) ? XFER_PIO_0 : XFER_PIO_SLOW; | ||
124 | } | ||
125 | |||
126 | static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q, int T, int UT) | 109 | static void ide_timing_quantize(struct ide_timing *t, struct ide_timing *q, int T, int UT) |
127 | { | 110 | { |
128 | q->setup = EZ(t->setup * 1000, T); | 111 | 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 | |||
212 | */ | 195 | */ |
213 | 196 | ||
214 | if ((speed & XFER_MODE) != XFER_PIO) { | 197 | if ((speed & XFER_MODE) != XFER_PIO) { |
215 | ide_timing_compute(drive, ide_find_best_pio_mode(drive), &p, T, UT); | 198 | u8 pio = ide_get_best_pio_mode(drive, 255, 5); |
199 | ide_timing_compute(drive, XFER_PIO_0 + pio, &p, T, UT); | ||
216 | ide_timing_merge(&p, t, t, IDE_TIMING_ALL); | 200 | ide_timing_merge(&p, t, t, IDE_TIMING_ALL); |
217 | } | 201 | } |
218 | 202 | ||