diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-15 18:52:53 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-15 18:52:53 +0200 |
commit | c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0 (patch) | |
tree | 5bd24f0d0f720ab29f9a5b5a2156a620e2ff2113 /drivers/ide/at91_ide.c | |
parent | ata: add ata_id_pio_need_iordy() helper (v2) (diff) | |
download | linux-c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0.tar.xz linux-c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0.zip |
ide: IORDY handling fixes
Add ide_pio_need_iordy() helper and convert host drivers to use it.
This fixes it8172, it8213, pdc202xx_old, piix, slc90e66 and siimage
host drivers to handle IORDY correctly.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/at91_ide.c')
-rw-r--r-- | drivers/ide/at91_ide.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/ide/at91_ide.c b/drivers/ide/at91_ide.c index fc0949a8cfde..dbfeda42b940 100644 --- a/drivers/ide/at91_ide.c +++ b/drivers/ide/at91_ide.c @@ -185,8 +185,7 @@ static void at91_ide_set_pio_mode(ide_drive_t *drive, const u8 pio) timing = ide_timing_find_mode(XFER_PIO_0 + pio); BUG_ON(!timing); - if ((pio > 2 || ata_id_has_iordy(drive->id)) && - !(ata_id_is_cfa(drive->id) && pio > 4)) + if (ide_pio_need_iordy(drive, pio)) use_iordy = 1; apply_timings(chipselect, pio, timing, use_iordy); |