diff options
Diffstat (limited to 'drivers/ide/pci/amd74xx.c')
-rw-r--r-- | drivers/ide/pci/amd74xx.c | 31 |
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 | ||
306 | static ide_pci_device_t amd74xx_chipsets[] __devinitdata = { | 303 | static ide_pci_device_t amd74xx_chipsets[] __devinitdata = { |