diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2010-01-18 18:15:04 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-03-01 14:58:44 -0500 |
commit | d62f5576efc4886c0f3633c2652c3a924e043be9 (patch) | |
tree | 1fd7719d6d2567a69b7844739f9cea6b7093586f /drivers/ata | |
parent | a2bd62207af4be8f5fe815ff90cc309056407829 (diff) | |
download | op-kernel-dev-d62f5576efc4886c0f3633c2652c3a924e043be9.zip op-kernel-dev-d62f5576efc4886c0f3633c2652c3a924e043be9.tar.gz |
pata_cmd64x: fix handling of address setup timings
Account for the requirements of the DMA mode currently used
by the pair device.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/pata_cmd64x.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c index db08c9d..0235a1d 100644 --- a/drivers/ata/pata_cmd64x.c +++ b/drivers/ata/pata_cmd64x.c @@ -131,8 +131,14 @@ static void cmd64x_set_timing(struct ata_port *ap, struct ata_device *adev, u8 m if (pair) { struct ata_timing tp; + ata_timing_compute(pair, pair->pio_mode, &tp, T, 0); ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); + if (pair->dma_mode) { + ata_timing_compute(pair, pair->dma_mode, + &tp, T, 0); + ata_timing_merge(&tp, &t, &t, ATA_TIMING_SETUP); + } } } |