aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/hpt34x.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:58 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-10-16 16:29:58 -0400
commit9ff6f72f432364991d68e99cae72cb141c166e70 (patch)
treee37e5dc6d1b2387f7cbc2909d5cb534d4a395a79 /drivers/ide/pci/hpt34x.c
parent1b5169405e50b98b2bd1e4f86c7706ea24a59193 (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.c10
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
155static ide_pci_device_t hpt34x_chipset __devinitdata = { 151static ide_pci_device_t hpt34x_chipset __devinitdata = {