diff options
Diffstat (limited to 'drivers/ide/pci/tc86c001.c')
-rw-r--r-- | drivers/ide/pci/tc86c001.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c index 0b6d81d6ce48..cee619bb2eaf 100644 --- a/drivers/ide/pci/tc86c001.c +++ b/drivers/ide/pci/tc86c001.c | |||
@@ -13,18 +13,13 @@ | |||
13 | #include <linux/pci.h> | 13 | #include <linux/pci.h> |
14 | #include <linux/ide.h> | 14 | #include <linux/ide.h> |
15 | 15 | ||
16 | static inline u8 tc86c001_ratemask(ide_drive_t *drive) | ||
17 | { | ||
18 | return eighty_ninty_three(drive) ? 2 : 1; | ||
19 | } | ||
20 | |||
21 | static int tc86c001_tune_chipset(ide_drive_t *drive, u8 speed) | 16 | static int tc86c001_tune_chipset(ide_drive_t *drive, u8 speed) |
22 | { | 17 | { |
23 | ide_hwif_t *hwif = HWIF(drive); | 18 | ide_hwif_t *hwif = HWIF(drive); |
24 | unsigned long scr_port = hwif->config_data + (drive->dn ? 0x02 : 0x00); | 19 | unsigned long scr_port = hwif->config_data + (drive->dn ? 0x02 : 0x00); |
25 | u16 mode, scr = hwif->INW(scr_port); | 20 | u16 mode, scr = hwif->INW(scr_port); |
26 | 21 | ||
27 | speed = ide_rate_filter(tc86c001_ratemask(drive), speed); | 22 | speed = ide_rate_filter(drive, speed); |
28 | 23 | ||
29 | switch (speed) { | 24 | switch (speed) { |
30 | case XFER_UDMA_4: mode = 0x00c0; break; | 25 | case XFER_UDMA_4: mode = 0x00c0; break; |
@@ -172,20 +167,9 @@ static int tc86c001_busproc(ide_drive_t *drive, int state) | |||
172 | return 0; | 167 | return 0; |
173 | } | 168 | } |
174 | 169 | ||
175 | static int config_chipset_for_dma(ide_drive_t *drive) | ||
176 | { | ||
177 | u8 speed = ide_dma_speed(drive, tc86c001_ratemask(drive)); | ||
178 | |||
179 | if (!speed) | ||
180 | return 0; | ||
181 | |||
182 | (void) tc86c001_tune_chipset(drive, speed); | ||
183 | return ide_dma_enable(drive); | ||
184 | } | ||
185 | |||
186 | static int tc86c001_config_drive_xfer_rate(ide_drive_t *drive) | 170 | static int tc86c001_config_drive_xfer_rate(ide_drive_t *drive) |
187 | { | 171 | { |
188 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) | 172 | if (ide_tune_dma(drive)) |
189 | return 0; | 173 | return 0; |
190 | 174 | ||
191 | if (ide_use_fast_pio(drive)) | 175 | if (ide_use_fast_pio(drive)) |