aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_cmd64x.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2010-01-18 12:15:04 -0500
committerJeff Garzik <jgarzik@redhat.com>2010-03-01 14:58:44 -0500
commitd62f5576efc4886c0f3633c2652c3a924e043be9 (patch)
tree1fd7719d6d2567a69b7844739f9cea6b7093586f /drivers/ata/pata_cmd64x.c
parenta2bd62207af4be8f5fe815ff90cc309056407829 (diff)
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/pata_cmd64x.c')
-rw-r--r--drivers/ata/pata_cmd64x.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c
index db08c9d1a333..0235a1d3c2fb 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
131 131
132 if (pair) { 132 if (pair) {
133 struct ata_timing tp; 133 struct ata_timing tp;
134
134 ata_timing_compute(pair, pair->pio_mode, &tp, T, 0); 135 ata_timing_compute(pair, pair->pio_mode, &tp, T, 0);
135 ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP); 136 ata_timing_merge(&t, &tp, &t, ATA_TIMING_SETUP);
137 if (pair->dma_mode) {
138 ata_timing_compute(pair, pair->dma_mode,
139 &tp, T, 0);
140 ata_timing_merge(&tp, &t, &t, ATA_TIMING_SETUP);
141 }
136 } 142 }
137 } 143 }
138 144