diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2010-01-18 12:15:04 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2010-03-01 14:58:44 -0500 |
commit | d62f5576efc4886c0f3633c2652c3a924e043be9 (patch) | |
tree | 1fd7719d6d2567a69b7844739f9cea6b7093586f /drivers/ata/pata_cmd64x.c | |
parent | a2bd62207af4be8f5fe815ff90cc309056407829 (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.c | 6 |
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 | ||