diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
commit | 0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch) | |
tree | fa725edcfb4b9752ebf2aa49a3e42e158537d4ed /drivers/ide/pci/it8213.c | |
parent | b8b739d3361c16773a30fe5c0360336bbc19f435 (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.c | 26 |
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 | |||
170 | static 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 | ||
189 | static void __devinit init_hwif_it8213(ide_hwif_t *hwif) | 167 | static 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, ®42h); | 187 | pci_read_config_byte(hwif->pci_dev, 0x42, ®42h); |
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 | ||