aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/cs5520.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/cs5520.c')
-rw-r--r--drivers/ide/pci/cs5520.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c
index af67438328a8..a73c318ff086 100644
--- a/drivers/ide/pci/cs5520.c
+++ b/drivers/ide/pci/cs5520.c
@@ -122,17 +122,16 @@ static int cs5520_tune_chipset(ide_drive_t *drive, const u8 speed)
122 122
123 return error; 123 return error;
124} 124}
125 125
126static void cs5520_tune_drive(ide_drive_t *drive, u8 pio) 126static void cs5520_set_pio_mode(ide_drive_t *drive, const u8 pio)
127{ 127{
128 pio = ide_get_best_pio_mode(drive, pio, 4); 128 cs5520_tune_chipset(drive, XFER_PIO_0 + pio);
129 cs5520_tune_chipset(drive, (XFER_PIO_0 + pio));
130} 129}
131 130
132static int cs5520_config_drive_xfer_rate(ide_drive_t *drive) 131static int cs5520_config_drive_xfer_rate(ide_drive_t *drive)
133{ 132{
134 /* Tune the drive for PIO modes up to PIO 4 */ 133 /* Tune the drive for PIO modes up to PIO 4 */
135 cs5520_tune_drive(drive, 255); 134 ide_set_max_pio(drive);
136 135
137 /* Then tell the core to use DMA operations */ 136 /* Then tell the core to use DMA operations */
138 return 0; 137 return 0;
@@ -164,7 +163,7 @@ static int cs5520_dma_on(ide_drive_t *drive)
164 163
165static void __devinit init_hwif_cs5520(ide_hwif_t *hwif) 164static void __devinit init_hwif_cs5520(ide_hwif_t *hwif)
166{ 165{
167 hwif->tuneproc = &cs5520_tune_drive; 166 hwif->set_pio_mode = &cs5520_set_pio_mode;
168 hwif->speedproc = &cs5520_tune_chipset; 167 hwif->speedproc = &cs5520_tune_chipset;
169 hwif->ide_dma_check = &cs5520_config_drive_xfer_rate; 168 hwif->ide_dma_check = &cs5520_config_drive_xfer_rate;
170 hwif->ide_dma_on = &cs5520_dma_on; 169 hwif->ide_dma_on = &cs5520_dma_on;