summaryrefslogtreecommitdiffstats
path: root/drivers/ide/sl82c105.c
diff options
context:
space:
mode:
authorSergei Shtylyov <sshtylyov@ru.mvista.com>2009-03-31 20:15:28 +0200
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-03-31 20:15:28 +0200
commit74638c84821c066d02c158bc843c84499ddc9764 (patch)
treecd6f79f34d87d25a621aaf1369ce226923de3c14 /drivers/ide/sl82c105.c
parentide-iops: only clear DMA words on setting DMA mode (diff)
downloadlinux-74638c84821c066d02c158bc843c84499ddc9764.tar.xz
linux-74638c84821c066d02c158bc843c84499ddc9764.zip
ide: add support for CFA specified transfer modes (take 3)
Add support for the CompactFlash specific PIO modes 5/6 and MWDMA modes 3/4. Since there were no PIO5 capable hard drives produced and one would also need 66 MHz IDE clock to actually get the difference WRT the address setup timings programmed, I decided to simply replace the old non-standard PIO mode 5 timings with the CFA specified ones. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: stf_xl@wp.pl Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/sl82c105.c')
-rw-r--r--drivers/ide/sl82c105.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/sl82c105.c b/drivers/ide/sl82c105.c
index d6f8977191c8..b0a460625335 100644
--- a/drivers/ide/sl82c105.c
+++ b/drivers/ide/sl82c105.c
@@ -61,7 +61,8 @@ static unsigned int get_pio_timings(ide_drive_t *drive, u8 pio)
if (cmd_off == 0)
cmd_off = 1;
- if (pio > 2 || ata_id_has_iordy(drive->id))
+ if ((pio > 2 || ata_id_has_iordy(drive->id)) &&
+ !(pio > 4 && ata_id_is_cfa(drive->id)))
iordy = 0x40;
return (cmd_on - 1) << 8 | (cmd_off - 1) | iordy;