aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/amd74xx.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/amd74xx.c')
-rw-r--r--drivers/ide/pci/amd74xx.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c
index 3bf3d931eea1..7cafefbf6c1b 100644
--- a/drivers/ide/pci/amd74xx.c
+++ b/drivers/ide/pci/amd74xx.c
@@ -233,7 +233,6 @@ static unsigned int __devinit init_chipset_amd74xx(struct pci_dev *dev, const ch
233 * Print the boot message. 233 * Print the boot message.
234 */ 234 */
235 235
236 pci_read_config_byte(dev, PCI_REVISION_ID, &t);
237 printk(KERN_INFO "%s: %s (rev %02x) UDMA%s controller\n", 236 printk(KERN_INFO "%s: %s (rev %02x) UDMA%s controller\n",
238 amd_chipset->name, pci_name(dev), dev->revision, 237 amd_chipset->name, pci_name(dev), dev->revision,
239 amd_dma[fls(amd_config->udma_mask) - 1]); 238 amd_dma[fls(amd_config->udma_mask) - 1]);
@@ -254,18 +253,14 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
254 for (i = 0; i < 2; i++) { 253 for (i = 0; i < 2; i++) {
255 hwif->drives[i].io_32bit = 1; 254 hwif->drives[i].io_32bit = 1;
256 hwif->drives[i].unmask = 1; 255 hwif->drives[i].unmask = 1;
257 hwif->drives[i].autotune = 1;
258 } 256 }
259 257
260 if (!hwif->dma_base) 258 if (!hwif->dma_base)
261 return; 259 return;
262 260
263 hwif->atapi_dma = 1;
264
265 hwif->ultra_mask = amd_config->udma_mask; 261 hwif->ultra_mask = amd_config->udma_mask;
266 hwif->mwdma_mask = 0x07; 262 if (amd_config->flags & AMD_BAD_SWDMA)
267 if ((amd_config->flags & AMD_BAD_SWDMA) == 0) 263 hwif->swdma_mask = 0x00;
268 hwif->swdma_mask = 0x07;
269 264
270 if (hwif->cbl != ATA_CBL_PATA40_SHORT) { 265 if (hwif->cbl != ATA_CBL_PATA40_SHORT) {
271 if ((amd_80w >> hwif->channel) & 1) 266 if ((amd_80w >> hwif->channel) & 1)
@@ -280,13 +275,14 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
280 .name = name_str, \ 275 .name = name_str, \
281 .init_chipset = init_chipset_amd74xx, \ 276 .init_chipset = init_chipset_amd74xx, \
282 .init_hwif = init_hwif_amd74xx, \ 277 .init_hwif = init_hwif_amd74xx, \
283 .autodma = AUTODMA, \
284 .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, \ 278 .enablebits = {{0x40,0x02,0x02}, {0x40,0x01,0x01}}, \
285 .bootable = ON_BOARD, \ 279 .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | \
286 .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST \ 280 IDE_HFLAG_PIO_NO_DOWNGRADE | \
287 | IDE_HFLAG_PIO_NO_DOWNGRADE \ 281 IDE_HFLAG_POST_SET_MODE | \
288 | IDE_HFLAG_POST_SET_MODE, \ 282 IDE_HFLAG_BOOTABLE, \
289 .pio_mask = ATA_PIO5, \ 283 .pio_mask = ATA_PIO5, \
284 .swdma_mask = ATA_SWDMA2, \
285 .mwdma_mask = ATA_MWDMA2, \
290 } 286 }
291 287
292#define DECLARE_NV_DEV(name_str) \ 288#define DECLARE_NV_DEV(name_str) \
@@ -294,13 +290,14 @@ static void __devinit init_hwif_amd74xx(ide_hwif_t *hwif)
294 .name = name_str, \ 290 .name = name_str, \
295 .init_chipset = init_chipset_amd74xx, \ 291 .init_chipset = init_chipset_amd74xx, \
296 .init_hwif = init_hwif_amd74xx, \ 292 .init_hwif = init_hwif_amd74xx, \
297 .autodma = AUTODMA, \
298 .enablebits = {{0x50,0x02,0x02}, {0x50,0x01,0x01}}, \ 293 .enablebits = {{0x50,0x02,0x02}, {0x50,0x01,0x01}}, \
299 .bootable = ON_BOARD, \ 294 .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST | \
300 .host_flags = IDE_HFLAG_PIO_NO_BLACKLIST \ 295 IDE_HFLAG_PIO_NO_DOWNGRADE | \
301 | IDE_HFLAG_PIO_NO_DOWNGRADE \ 296 IDE_HFLAG_POST_SET_MODE | \
302 | IDE_HFLAG_POST_SET_MODE, \ 297 IDE_HFLAG_BOOTABLE, \
303 .pio_mask = ATA_PIO5, \ 298 .pio_mask = ATA_PIO5, \
299 .swdma_mask = ATA_SWDMA2, \
300 .mwdma_mask = ATA_MWDMA2, \
304 } 301 }
305 302
306static ide_pci_device_t amd74xx_chipsets[] __devinitdata = { 303static ide_pci_device_t amd74xx_chipsets[] __devinitdata = {