summaryrefslogtreecommitdiffstats
path: root/drivers/ide/piix.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-06-15 18:52:53 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-06-15 18:52:53 +0200
commitc9ef59ff01b6bd1c7360a64fcc8556a1193c2ed0 (patch)
tree5bd24f0d0f720ab29f9a5b5a2156a620e2ff2113 /drivers/ide/piix.c
parentata: add ata_id_pio_need_iordy() helper (v2) (diff)
downloadlinux-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/piix.c')
-rw-r--r--drivers/ide/piix.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c
index 69860dea3820..bf14f39bd3a7 100644
--- a/drivers/ide/piix.c
+++ b/drivers/ide/piix.c
@@ -98,7 +98,7 @@ static void piix_set_pio_mode(ide_drive_t *drive, const u8 pio)
control |= 1; /* Programmable timing on */
if (drive->media == ide_disk)
control |= 4; /* Prefetch, post write */
- if (pio > 2)
+ if (ide_pio_need_iordy(drive, pio))
control |= 2; /* IORDY */
if (is_slave) {
master_data |= 0x4000;