|
@@ -117,10 +117,11 @@ static void ali14xx_set_pio_mode(ide_drive_t *drive, const u8 pio)
|
|
|
u8 param1, param2, param3, param4;
|
|
|
unsigned long flags;
|
|
|
int bus_speed = ide_vlb_clk ? ide_vlb_clk : 50;
|
|
|
+ struct ide_timing *t = ide_timing_find_mode(XFER_PIO_0 + pio);
|
|
|
|
|
|
/* calculate timing, according to PIO mode */
|
|
|
time1 = ide_pio_cycle_time(drive, pio);
|
|
|
- time2 = ide_pio_timings[pio].active_time;
|
|
|
+ time2 = t->active;
|
|
|
param3 = param1 = (time2 * bus_speed + 999) / 1000;
|
|
|
param4 = param2 = (time1 * bus_speed + 999) / 1000 - param1;
|
|
|
if (pio < 3) {
|