diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:58 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:58 -0400 |
commit | 9ff6f72f432364991d68e99cae72cb141c166e70 (patch) | |
tree | e37e5dc6d1b2387f7cbc2909d5cb534d4a395a79 /drivers/ide/pci/hpt34x.c | |
parent | 1b5169405e50b98b2bd1e4f86c7706ea24a59193 (diff) |
ide: remove hwif->autodma and drive->autodma
* hpt34x.c: disable DMA masks for HPT345
(hwif->autodma is zero so DMA won't be enabled anyway).
* trm290.c: disable IDE_HFLAG_TRUST_BIOS_FOR_DMA flag
(hwif->autodma is zero so DMA won't be enabled anyway).
* Check noautodma global variable instead of drive->autodma in ide_tune_dma().
This fixes handling of "ide=nodma" kernel parameter for icside, ide-cris,
au1xxx-ide, pmac, it821x, jmicron, sgiioc4 and siimage host drivers.
* Remove hwif->autodma (it was not checked by IDE core code anyway) and
drive->autodma (was set by all host drivers - except HPT345/TRM290 special
cases - unless "ide=nodma" was used).
While at it:
- remove needless printk() from icside.c
- remove stale FIXME/comment from ide-probe.c
- don't force DMA off if PCI bus-mastering had to be enabled in setup-pci.c
(this setting was always later over-ridden by host drivers anyway)
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/hpt34x.c')
-rw-r--r-- | drivers/ide/pci/hpt34x.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/ide/pci/hpt34x.c b/drivers/ide/pci/hpt34x.c index 88472e5a3ec7..44ac0e2f7a09 100644 --- a/drivers/ide/pci/hpt34x.c +++ b/drivers/ide/pci/hpt34x.c | |||
@@ -127,8 +127,6 @@ static void __devinit init_hwif_hpt34x(ide_hwif_t *hwif) | |||
127 | { | 127 | { |
128 | u16 pcicmd = 0; | 128 | u16 pcicmd = 0; |
129 | 129 | ||
130 | hwif->autodma = 0; | ||
131 | |||
132 | hwif->set_pio_mode = &hpt34x_set_pio_mode; | 130 | hwif->set_pio_mode = &hpt34x_set_pio_mode; |
133 | hwif->set_dma_mode = &hpt34x_set_mode; | 131 | hwif->set_dma_mode = &hpt34x_set_mode; |
134 | 132 | ||
@@ -141,15 +139,13 @@ static void __devinit init_hwif_hpt34x(ide_hwif_t *hwif) | |||
141 | return; | 139 | return; |
142 | 140 | ||
143 | #ifdef CONFIG_HPT34X_AUTODMA | 141 | #ifdef CONFIG_HPT34X_AUTODMA |
142 | if ((pcicmd & PCI_COMMAND_MEMORY) == 0) | ||
143 | return; | ||
144 | |||
144 | hwif->ultra_mask = 0x07; | 145 | hwif->ultra_mask = 0x07; |
145 | hwif->mwdma_mask = 0x07; | 146 | hwif->mwdma_mask = 0x07; |
146 | hwif->swdma_mask = 0x07; | 147 | hwif->swdma_mask = 0x07; |
147 | #endif | 148 | #endif |
148 | |||
149 | if (!noautodma) | ||
150 | hwif->autodma = (pcicmd & PCI_COMMAND_MEMORY) ? 1 : 0; | ||
151 | hwif->drives[0].autodma = hwif->autodma; | ||
152 | hwif->drives[1].autodma = hwif->autodma; | ||
153 | } | 149 | } |
154 | 150 | ||
155 | static ide_pci_device_t hpt34x_chipset __devinitdata = { | 151 | static ide_pci_device_t hpt34x_chipset __devinitdata = { |