ide: add ide_pio_cycle_time() helper (take 2)

* Add ide_pio_cycle_time() helper.

* Use it in ali14xx/ht6560b/qd65xx/cmd64{0,x}/sl82c105 and pmac host drivers
  (previously cycle time given by the device was only used for "pio" == 255).

* Remove no longer needed ide_pio_data_t.cycle_time field.

v2:
* Fix "ata_" prefix (Noticed by Jeff).

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Цей коміт міститься в:
Bartlomiej Zolnierkiewicz
2007-07-20 01:11:56 +02:00
джерело 31c4df441c
коміт 7dd00083b1
9 змінених файлів з 74 додано та 56 видалено

Переглянути файл

@@ -633,9 +633,8 @@ static void cmd640_set_mode (unsigned int index, u8 pio_mode, unsigned int cycle
*/
static void cmd640_tune_drive (ide_drive_t *drive, u8 mode_wanted)
{
unsigned int index = 0, cycle_time;
u8 b;
ide_pio_data_t d;
unsigned int index = 0;
while (drive != cmd_drives[index]) {
if (++index > 3) {
@@ -662,13 +661,12 @@ static void cmd640_tune_drive (ide_drive_t *drive, u8 mode_wanted)
return;
}
(void) ide_get_best_pio_mode (drive, mode_wanted, 5, &d);
cmd640_set_mode (index, d.pio_mode, d.cycle_time);
mode_wanted = ide_get_best_pio_mode(drive, mode_wanted, 5, NULL);
cycle_time = ide_pio_cycle_time(drive, mode_wanted);
cmd640_set_mode(index, mode_wanted, cycle_time);
printk("%s: selected cmd640 PIO mode%d (%dns)",
drive->name,
d.pio_mode,
d.cycle_time);
drive->name, mode_wanted, cycle_time);
display_clocks(index);
}