Lines Matching +full:re +full:- +full:tuning

2  *  ata_generic.c - Generic PATA/SATA controller driver.
6 * Copyright (C) 2001-2002 Andre Hedrick <andre@linux-ide.org>
13 * tuning for us. By default we do not grab all IDE class devices as they
41 * generic_set_mode - mode setting
53 struct ata_port *ap = link->ap; in generic_set_mode()
54 const struct pci_device_id *id = ap->host->private_data; in generic_set_mode()
58 if (id->driver_data & ATA_GEN_FORCE_DMA) { in generic_set_mode()
60 } else if (ap->ioaddr.bmdma_addr) { in generic_set_mode()
62 dma_enabled = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); in generic_set_mode()
67 dev->pio_mode = XFER_PIO_0; in generic_set_mode()
68 dev->dma_mode = XFER_MW_DMA_0; in generic_set_mode()
71 if (dma_enabled & (1 << (5 + dev->devno))) { in generic_set_mode()
72 unsigned int xfer_mask = ata_id_xfermask(dev->id); in generic_set_mode()
85 dev->xfer_mode = ata_xfer_mask2mode(xfer_mask); in generic_set_mode()
86 dev->xfer_shift = ata_xfer_mode2shift(dev->xfer_mode); in generic_set_mode()
87 dev->flags &= ~ATA_DFLAG_PIO; in generic_set_mode()
90 dev->xfer_mode = XFER_PIO_0; in generic_set_mode()
91 dev->xfer_shift = ATA_SHIFT_PIO; in generic_set_mode()
92 dev->flags |= ATA_DFLAG_PIO; in generic_set_mode()
111 * is_intel_ider - identify intel IDE-R devices
114 * Distinguish Intel IDE-R controller devices from other Intel IDE
115 * devices. IDE-R devices have no timing registers and are in
119 * IDE-R devices have PCI offset 0xF8.L as zero, later Intel ATA has
121 * not writable on IDE-R devices (this is guaranteed).
126 /* For Intel IDE the value at 0xF8 is only zero on IDE-R in is_intel_ider()
131 /* Check the manufacturing ID, it will be zero for IDE-R */ in is_intel_ider()
133 /* Not IDE-R: punt so that ata_(old)piix gets it */ in is_intel_ider()
142 we eliminate any early devices hot-docked in a docking in is_intel_ider()
154 * ata_generic_init_one - attach generic IDE
176 if ((id->driver_data & ATA_GEN_CLASS_MATCH) && all_generic_ide == 0) in ata_generic_init_one()
177 return -ENODEV; in ata_generic_init_one()
179 if ((id->driver_data & ATA_GEN_INTEL_IDER) && !all_generic_ide) in ata_generic_init_one()
181 return -ENODEV; in ata_generic_init_one()
184 if (dev->vendor == PCI_VENDOR_ID_UMC && in ata_generic_init_one()
185 dev->device == PCI_DEVICE_ID_UMC_UM8886A && in ata_generic_init_one()
186 (!(PCI_FUNC(dev->devfn) & 1))) in ata_generic_init_one()
187 return -ENODEV; in ata_generic_init_one()
189 if (dev->vendor == PCI_VENDOR_ID_OPTI && in ata_generic_init_one()
190 dev->device == PCI_DEVICE_ID_OPTI_82C558 && in ata_generic_init_one()
191 (!(PCI_FUNC(dev->devfn) & 1))) in ata_generic_init_one()
192 return -ENODEV; in ata_generic_init_one()
194 /* Don't re-enable devices in generic mode or we will break some in ata_generic_init_one()
198 return -ENODEV; in ata_generic_init_one()
200 if (dev->vendor == PCI_VENDOR_ID_AL) in ata_generic_init_one()
203 if (dev->vendor == PCI_VENDOR_ID_ATI) { in ata_generic_init_one()
253 MODULE_DESCRIPTION("low-level driver for generic ATA");