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/hpt34x.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/hpt34x.c')
-rw-r--r-- | drivers/ide/pci/hpt34x.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c index 473e1b33dbf7..2c24c3de8846 100644 --- a/drivers/ide/pci/hpt34x.c +++ b/drivers/ide/pci/hpt34x.c | |||
@@ -84,29 +84,11 @@ static void hpt34x_tune_drive (ide_drive_t *drive, u8 pio) | |||
84 | (void) hpt34x_tune_chipset(drive, (XFER_PIO_0 + pio)); | 84 | (void) hpt34x_tune_chipset(drive, (XFER_PIO_0 + pio)); |
85 | } | 85 | } |
86 | 86 | ||
87 | /* | ||
88 | * This allows the configuration of ide_pci chipset registers | ||
89 | * for cards that learn about the drive's UDMA, DMA, PIO capabilities | ||
90 | * after the drive is reported by the OS. Initially for designed for | ||
91 | * HPT343 UDMA chipset by HighPoint|Triones Technologies, Inc. | ||
92 | */ | ||
93 | |||
94 | static int config_chipset_for_dma (ide_drive_t *drive) | ||
95 | { | ||
96 | u8 speed = ide_max_dma_mode(drive); | ||
97 | |||
98 | if (!(speed)) | ||
99 | return 0; | ||
100 | |||
101 | (void) hpt34x_tune_chipset(drive, speed); | ||
102 | return ide_dma_enable(drive); | ||
103 | } | ||
104 | |||
105 | static int hpt34x_config_drive_xfer_rate (ide_drive_t *drive) | 87 | static int hpt34x_config_drive_xfer_rate (ide_drive_t *drive) |
106 | { | 88 | { |
107 | drive->init_speed = 0; | 89 | drive->init_speed = 0; |
108 | 90 | ||
109 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) | 91 | if (ide_tune_dma(drive)) |
110 | #ifndef CONFIG_HPT34X_AUTODMA | 92 | #ifndef CONFIG_HPT34X_AUTODMA |
111 | return -1; | 93 | return -1; |
112 | #else | 94 | #else |