diff options
Diffstat (limited to 'drivers/ide/pci/it821x.c')
-rw-r--r-- | drivers/ide/pci/it821x.c | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c index f3391a8698ac..ec45b7247209 100644 --- a/drivers/ide/pci/it821x.c +++ b/drivers/ide/pci/it821x.c | |||
@@ -544,12 +544,10 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
544 | 544 | ||
545 | ide_set_hwifdata(hwif, idev); | 545 | ide_set_hwifdata(hwif, idev); |
546 | 546 | ||
547 | hwif->atapi_dma = 1; | ||
548 | |||
549 | pci_read_config_byte(hwif->pci_dev, 0x50, &conf); | 547 | pci_read_config_byte(hwif->pci_dev, 0x50, &conf); |
550 | if(conf & 1) { | 548 | if (conf & 1) { |
551 | idev->smart = 1; | 549 | idev->smart = 1; |
552 | hwif->atapi_dma = 0; | 550 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
553 | /* Long I/O's although allowed in LBA48 space cause the | 551 | /* Long I/O's although allowed in LBA48 space cause the |
554 | onboard firmware to enter the twighlight zone */ | 552 | onboard firmware to enter the twighlight zone */ |
555 | hwif->rqsize = 256; | 553 | hwif->rqsize = 256; |
@@ -570,10 +568,10 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
570 | */ | 568 | */ |
571 | 569 | ||
572 | pci_read_config_byte(hwif->pci_dev, 0x08, &conf); | 570 | pci_read_config_byte(hwif->pci_dev, 0x08, &conf); |
573 | if(conf == 0x10) { | 571 | if (conf == 0x10) { |
574 | idev->timing10 = 1; | 572 | idev->timing10 = 1; |
575 | hwif->atapi_dma = 0; | 573 | hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; |
576 | if(!idev->smart) | 574 | if (idev->smart == 0) |
577 | printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n"); | 575 | printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n"); |
578 | } | 576 | } |
579 | 577 | ||
@@ -587,14 +585,11 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
587 | } else | 585 | } else |
588 | hwif->host_flags |= IDE_HFLAG_NO_SET_MODE; | 586 | hwif->host_flags |= IDE_HFLAG_NO_SET_MODE; |
589 | 587 | ||
590 | hwif->drives[0].autotune = 1; | ||
591 | hwif->drives[1].autotune = 1; | ||
592 | |||
593 | if (hwif->dma_base == 0) | 588 | if (hwif->dma_base == 0) |
594 | return; | 589 | return; |
595 | 590 | ||
596 | hwif->ultra_mask = 0x7f; | 591 | hwif->ultra_mask = ATA_UDMA6; |
597 | hwif->mwdma_mask = 0x07; | 592 | hwif->mwdma_mask = ATA_MWDMA2; |
598 | 593 | ||
599 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) | 594 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
600 | hwif->cbl = ata66_it821x(hwif); | 595 | hwif->cbl = ata66_it821x(hwif); |
@@ -638,9 +633,8 @@ static unsigned int __devinit init_chipset_it821x(struct pci_dev *dev, const cha | |||
638 | .name = name_str, \ | 633 | .name = name_str, \ |
639 | .init_chipset = init_chipset_it821x, \ | 634 | .init_chipset = init_chipset_it821x, \ |
640 | .init_hwif = init_hwif_it821x, \ | 635 | .init_hwif = init_hwif_it821x, \ |
641 | .autodma = AUTODMA, \ | ||
642 | .bootable = ON_BOARD, \ | ||
643 | .fixup = it821x_fixups, \ | 636 | .fixup = it821x_fixups, \ |
637 | .host_flags = IDE_HFLAG_BOOTABLE, \ | ||
644 | .pio_mask = ATA_PIO4, \ | 638 | .pio_mask = ATA_PIO4, \ |
645 | } | 639 | } |
646 | 640 | ||