aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/hpt34x.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-05-09 18:01:09 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-05-09 18:01:09 -0400
commit29e744d088e3555f4efbdf390f01088dd66993b6 (patch)
tree2747692efcef505872d29e0b62cb2345b0d64978 /drivers/ide/pci/hpt34x.c
parent2d5eaa6dd744a641e75503232a01f52d0768884c (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.c20
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
94static 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
105static int hpt34x_config_drive_xfer_rate (ide_drive_t *drive) 87static 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