aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/it8213.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:55 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:55 -0400
commit0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch)
treefa725edcfb4b9752ebf2aa49a3e42e158537d4ed /drivers/ide/pci/it8213.c
parentb8b739d3361c16773a30fe5c0360336bbc19f435 (diff)
ide: remove ->ide_dma_check (take 2)
* Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend on BIOS for programming device/controller for DMA. Set it in cy82c693, generic, ns87415, opti621 and trm290 host drivers. * Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520 host driver. * Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag. * Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check implementations. Fix all places checking for presence of ->ide_dma_check hook to check for ->ide_dma_on instead. * Remove no longer needed code from config_drive_for_dma(). * Make ide_tune_dma() static. v2: * Fix config_drive_for_dma() return values. * Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding dummy config_drive_for_dma() inline. * Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check(). * Fix init_hwif_it8213() comment. There should be no functionality changes caused by this patch. Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/it8213.c')
-rw-r--r--drivers/ide/pci/it8213.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/ide/pci/it8213.c b/drivers/ide/pci/it8213.c
index 6dab0daf4943..069152dd4697 100644
--- a/drivers/ide/pci/it8213.c
+++ b/drivers/ide/pci/it8213.c
@@ -158,32 +158,10 @@ static void it8213_set_dma_mode(ide_drive_t *drive, const u8 speed)
158} 158}
159 159
160/** 160/**
161 * it8213_configure_drive_for_dma - set up for DMA transfers
162 * @drive: drive we are going to set up
163 *
164 * Set up the drive for DMA, tune the controller and drive as
165 * required. If the drive isn't suitable for DMA or we hit
166 * other problems then we will drop down to PIO and set up
167 * PIO appropriately
168 */
169
170static int it8213_config_drive_for_dma (ide_drive_t *drive)
171{
172 if (ide_tune_dma(drive))
173 return 0;
174
175 ide_set_max_pio(drive);
176
177 return -1;
178}
179
180/**
181 * init_hwif_it8213 - set up hwif structs 161 * init_hwif_it8213 - set up hwif structs
182 * @hwif: interface to set up 162 * @hwif: interface to set up
183 * 163 *
184 * We do the basic set up of the interface structure. The IT8212 164 * We do the basic set up of the interface structure.
185 * requires several custom handlers so we override the default
186 * ide DMA handlers appropriately
187 */ 165 */
188 166
189static void __devinit init_hwif_it8213(ide_hwif_t *hwif) 167static void __devinit init_hwif_it8213(ide_hwif_t *hwif)
@@ -208,8 +186,6 @@ static void __devinit init_hwif_it8213(ide_hwif_t *hwif)
208 186
209 pci_read_config_byte(hwif->pci_dev, 0x42, &reg42h); 187 pci_read_config_byte(hwif->pci_dev, 0x42, &reg42h);
210 188
211 hwif->ide_dma_check = &it8213_config_drive_for_dma;
212
213 if (hwif->cbl != ATA_CBL_PATA40_SHORT) 189 if (hwif->cbl != ATA_CBL_PATA40_SHORT)
214 hwif->cbl = (reg42h & 0x02) ? ATA_CBL_PATA40 : ATA_CBL_PATA80; 190 hwif->cbl = (reg42h & 0x02) ? ATA_CBL_PATA40 : ATA_CBL_PATA80;
215 191