diff options
-rw-r--r-- | drivers/ide/pci/cs5530.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c index e4121577cef0..c972eb9bd457 100644 --- a/drivers/ide/pci/cs5530.c +++ b/drivers/ide/pci/cs5530.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/ide/pci/cs5530.c Version 0.74 Jul 28 2007 | 2 | * linux/drivers/ide/pci/cs5530.c Version 0.75 Aug 2 2007 |
3 | * | 3 | * |
4 | * Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org> | 4 | * Copyright (C) 2000 Andre Hedrick <andre@linux-ide.org> |
5 | * Copyright (C) 2000 Mark Lord <mlord@pobox.com> | 5 | * Copyright (C) 2000 Mark Lord <mlord@pobox.com> |
@@ -270,20 +270,13 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif) | |||
270 | 270 | ||
271 | basereg = CS5530_BASEREG(hwif); | 271 | basereg = CS5530_BASEREG(hwif); |
272 | d0_timings = inl(basereg + 0); | 272 | d0_timings = inl(basereg + 0); |
273 | if (CS5530_BAD_PIO(d0_timings)) { | 273 | if (CS5530_BAD_PIO(d0_timings)) |
274 | /* PIO timings not initialized? */ | ||
275 | outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 0); | 274 | outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 0); |
276 | if (!hwif->drives[0].autotune) | 275 | if (CS5530_BAD_PIO(inl(basereg + 8))) |
277 | hwif->drives[0].autotune = 1; | ||
278 | /* needs autotuning later */ | ||
279 | } | ||
280 | if (CS5530_BAD_PIO(inl(basereg + 8))) { | ||
281 | /* PIO timings not initialized? */ | ||
282 | outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 8); | 276 | outl(cs5530_pio_timings[(d0_timings >> 31) & 1][0], basereg + 8); |
283 | if (!hwif->drives[1].autotune) | 277 | |
284 | hwif->drives[1].autotune = 1; | 278 | hwif->drives[0].autotune = 1; |
285 | /* needs autotuning later */ | 279 | hwif->drives[1].autotune = 1; |
286 | } | ||
287 | 280 | ||
288 | if (hwif->dma_base == 0) | 281 | if (hwif->dma_base == 0) |
289 | return; | 282 | return; |