diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 16:00:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 16:00:02 -0700 |
commit | a9e82d3a02247af6b729be0a963862d70cb25bf9 (patch) | |
tree | 8f1f02bf0f1371391f2077a270bc32c0beddcc6a /drivers/ide/pci/it821x.c | |
parent | 58f9b52ee8712283f7ffedb661df678c61e88a91 (diff) | |
parent | 85ad93ad56f4baf52e7c40f2e01c4df8e14d4c9c (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6: (37 commits)
ide: set drive->autotune in ide_pci_setup_ports()
triflex: always tune PIO
opti621: always tune PIO
cy82c693: always tune PIO
cs5520: always tune PIO
alim15x3: always tune PIO
ide: add IDE_HFLAG_LEGACY_IRQS host flag
ide: add IDE_HFLAG_SERIALIZE host flag
ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag
piix: add DECLARE_ICH_DEV() macro
pdc202xx_old: add DECLARE_PDC2026X_DEV() macro
pdc202xx_new: add DECLARE_PDCNEW_DEV() macro
aec62xx: no need to disable UDMA in ->init_hwif method for ATP850UF
ide: remove .init_setup from ide_pci_device_t
serverworks: remove ->init_setup
scc_pata: remove ->init_setup
pdc202xx_old: remove ->init_setup
pdc202xx_new: remove ->init_setup
hpt366: remove ->init_setup
cmd64x: remove ->init_setup
...
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 f3391a8698a..ec45b724720 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) ide_set_hwifdata(hwif, idev); - hwif->atapi_dma = 1; - pci_read_config_byte(hwif->pci_dev, 0x50, &conf); - if(conf & 1) { + if (conf & 1) { idev->smart = 1; - hwif->atapi_dma = 0; + hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; /* Long I/O's although allowed in LBA48 space cause the onboard firmware to enter the twighlight zone */ hwif->rqsize = 256; @@ -570,10 +568,10 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) */ pci_read_config_byte(hwif->pci_dev, 0x08, &conf); - if(conf == 0x10) { + if (conf == 0x10) { idev->timing10 = 1; - hwif->atapi_dma = 0; - if(!idev->smart) + hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; + if (idev->smart == 0) printk(KERN_WARNING "it821x: Revision 0x10, workarounds activated.\n"); } @@ -587,14 +585,11 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) } else hwif->host_flags |= IDE_HFLAG_NO_SET_MODE; - hwif->drives[0].autotune = 1; - hwif->drives[1].autotune = 1; - if (hwif->dma_base == 0) return; - hwif->ultra_mask = 0x7f; - hwif->mwdma_mask = 0x07; + hwif->ultra_mask = ATA_UDMA6; + hwif->mwdma_mask = ATA_MWDMA2; if (hwif->cbl != ATA_CBL_PATA40_SHORT) hwif->cbl = ata66_it821x(hwif); @@ -638,9 +633,8 @@ static unsigned int __devinit init_chipset_it821x(struct pci_dev *dev, const cha .name = name_str, \ .init_chipset = init_chipset_it821x, \ .init_hwif = init_hwif_it821x, \ - .autodma = AUTODMA, \ - .bootable = ON_BOARD, \ .fixup = it821x_fixups, \ + .host_flags = IDE_HFLAG_BOOTABLE, \ .pio_mask = ATA_PIO4, \ } |