diff options
Diffstat (limited to 'drivers/ide/pci/serverworks.c')
-rw-r--r-- | drivers/ide/pci/serverworks.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index b51133bb58af..f4e08abf0fee 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -202,9 +202,8 @@ static int svwks_tune_chipset(ide_drive_t *drive, const u8 speed) | |||
202 | return (ide_config_drive_speed(drive, speed)); | 202 | return (ide_config_drive_speed(drive, speed)); |
203 | } | 203 | } |
204 | 204 | ||
205 | static void svwks_tune_drive (ide_drive_t *drive, u8 pio) | 205 | static void svwks_set_pio_mode(ide_drive_t *drive, const u8 pio) |
206 | { | 206 | { |
207 | pio = ide_get_best_pio_mode(drive, pio, 4); | ||
208 | svwks_tune_pio(drive, pio); | 207 | svwks_tune_pio(drive, pio); |
209 | (void)ide_config_drive_speed(drive, XFER_PIO_0 + pio); | 208 | (void)ide_config_drive_speed(drive, XFER_PIO_0 + pio); |
210 | } | 209 | } |
@@ -217,7 +216,7 @@ static int svwks_config_drive_xfer_rate (ide_drive_t *drive) | |||
217 | return 0; | 216 | return 0; |
218 | 217 | ||
219 | if (ide_use_fast_pio(drive)) | 218 | if (ide_use_fast_pio(drive)) |
220 | svwks_tune_drive(drive, 255); | 219 | ide_set_max_pio(drive); |
221 | 220 | ||
222 | return -1; | 221 | return -1; |
223 | } | 222 | } |
@@ -389,7 +388,7 @@ static void __devinit init_hwif_svwks (ide_hwif_t *hwif) | |||
389 | if (!hwif->irq) | 388 | if (!hwif->irq) |
390 | hwif->irq = hwif->channel ? 15 : 14; | 389 | hwif->irq = hwif->channel ? 15 : 14; |
391 | 390 | ||
392 | hwif->tuneproc = &svwks_tune_drive; | 391 | hwif->set_pio_mode = &svwks_set_pio_mode; |
393 | hwif->speedproc = &svwks_tune_chipset; | 392 | hwif->speedproc = &svwks_tune_chipset; |
394 | hwif->udma_filter = &svwks_udma_filter; | 393 | hwif->udma_filter = &svwks_udma_filter; |
395 | 394 | ||