aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/triflex.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/triflex.c')
-rw-r--r--drivers/ide/pci/triflex.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c
index 47cf89be4dfc..c3ff066eea5a 100644
--- a/drivers/ide/pci/triflex.c
+++ b/drivers/ide/pci/triflex.c
@@ -93,10 +93,9 @@ static int triflex_tune_chipset(ide_drive_t *drive, const u8 speed)
93 return (ide_config_drive_speed(drive, speed)); 93 return (ide_config_drive_speed(drive, speed));
94} 94}
95 95
96static void triflex_tune_drive(ide_drive_t *drive, u8 pio) 96static void triflex_set_pio_mode(ide_drive_t *drive, const u8 pio)
97{ 97{
98 int use_pio = ide_get_best_pio_mode(drive, pio, 4); 98 (void)triflex_tune_chipset(drive, XFER_PIO_0 + pio);
99 (void) triflex_tune_chipset(drive, (XFER_PIO_0 + use_pio));
100} 99}
101 100
102static int triflex_config_drive_xfer_rate(ide_drive_t *drive) 101static int triflex_config_drive_xfer_rate(ide_drive_t *drive)
@@ -104,14 +103,14 @@ static int triflex_config_drive_xfer_rate(ide_drive_t *drive)
104 if (ide_tune_dma(drive)) 103 if (ide_tune_dma(drive))
105 return 0; 104 return 0;
106 105
107 triflex_tune_drive(drive, 255); 106 ide_set_max_pio(drive);
108 107
109 return -1; 108 return -1;
110} 109}
111 110
112static void __devinit init_hwif_triflex(ide_hwif_t *hwif) 111static void __devinit init_hwif_triflex(ide_hwif_t *hwif)
113{ 112{
114 hwif->tuneproc = &triflex_tune_drive; 113 hwif->set_pio_mode = &triflex_set_pio_mode;
115 hwif->speedproc = &triflex_tune_chipset; 114 hwif->speedproc = &triflex_tune_chipset;
116 115
117 if (hwif->dma_base == 0) 116 if (hwif->dma_base == 0)