diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-15 12:52:53 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-15 12:52:53 -0400 |
commit | c9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0 (patch) | |
tree | 5bd24f0d0f720ab29f9a5b5a2156a620e2ff2113 /drivers/ide/sl82c105.c | |
parent | 6dae44f9a55f13765c877687602cd2bf1a057cfd (diff) |
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/sl82c105.c')
-rw-r--r-- | drivers/ide/sl82c105.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/ide/sl82c105.c b/drivers/ide/sl82c105.c index 0924abff52ff..88ac47085cd9 100644 --- a/drivers/ide/sl82c105.c +++ b/drivers/ide/sl82c105.c | |||
@@ -61,8 +61,7 @@ static unsigned int get_pio_timings(ide_drive_t *drive, u8 pio) | |||
61 | if (cmd_off == 0) | 61 | if (cmd_off == 0) |
62 | cmd_off = 1; | 62 | cmd_off = 1; |
63 | 63 | ||
64 | if ((pio > 2 || ata_id_has_iordy(drive->id)) && | 64 | if (ide_pio_need_iordy(drive, pio)) |
65 | !(pio > 4 && ata_id_is_cfa(drive->id))) | ||
66 | iordy = 0x40; | 65 | iordy = 0x40; |
67 | 66 | ||
68 | return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy; | 67 | return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy; |