diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:09 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-09 18:01:09 -0400 |
commit | 29e744d088e3555f4efbdf390f01088dd66993b6 (patch) | |
tree | 2747692efcef505872d29e0b62cb2345b0d64978 /drivers/ide/pci/atiixp.c | |
parent | 2d5eaa6dd744a641e75503232a01f52d0768884c (diff) |
ide: add ide_tune_dma() helper
After reworking the code responsible for selecting the best DMA
transfer mode it is now possible to add generic ide_tune_dma() helper.
Convert some IDE PCI host drivers to use it (the ones left need more work).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/atiixp.c')
-rw-r--r-- | drivers/ide/pci/atiixp.c | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index f7e80d6076d7..0e52ad722a72 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c | |||
@@ -207,26 +207,6 @@ static int atiixp_speedproc(ide_drive_t *drive, u8 xferspeed) | |||
207 | } | 207 | } |
208 | 208 | ||
209 | /** | 209 | /** |
210 | * atiixp_config_drive_for_dma - configure drive for DMA | ||
211 | * @drive: IDE drive to configure | ||
212 | * | ||
213 | * Set up a ATIIXP interface channel for the best available speed. | ||
214 | * We prefer UDMA if it is available and then MWDMA. If DMA is | ||
215 | * not available we switch to PIO and return 0. | ||
216 | */ | ||
217 | |||
218 | static int atiixp_config_drive_for_dma(ide_drive_t *drive) | ||
219 | { | ||
220 | u8 speed = ide_max_dma_mode(drive); | ||
221 | |||
222 | if (!speed) | ||
223 | return 0; | ||
224 | |||
225 | (void) atiixp_speedproc(drive, speed); | ||
226 | return ide_dma_enable(drive); | ||
227 | } | ||
228 | |||
229 | /** | ||
230 | * atiixp_dma_check - set up an IDE device | 210 | * atiixp_dma_check - set up an IDE device |
231 | * @drive: IDE drive to configure | 211 | * @drive: IDE drive to configure |
232 | * | 212 | * |
@@ -240,7 +220,7 @@ static int atiixp_dma_check(ide_drive_t *drive) | |||
240 | 220 | ||
241 | drive->init_speed = 0; | 221 | drive->init_speed = 0; |
242 | 222 | ||
243 | if (ide_use_dma(drive) && atiixp_config_drive_for_dma(drive)) | 223 | if (ide_tune_dma(drive)) |
244 | return 0; | 224 | return 0; |
245 | 225 | ||
246 | if (ide_use_fast_pio(drive)) { | 226 | if (ide_use_fast_pio(drive)) { |