/** * pacpi_pre_reset - check for 40/80 pin * @link: ATA link * @deadline: deadline jiffies for the operation * * Perform the PATA port setup we need.
*/
/** * pacpi_discover_modes - filter non ACPI modes * @ap: ATA port * @adev: ATA device * * Try the modes available and see which ones the ACPI method will * set up sensibly. From this we get a mask of ACPI modes we can use
*/
if (xfer_mask & (0xF8 << ATA_SHIFT_UDMA))
ap->cbl = ATA_CBL_PATA80;
return xfer_mask;
}
/** * pacpi_mode_filter - mode filter for ACPI * @adev: device * @mask: mask of valid modes * * Filter the valid mode list according to our own specific rules, in * this case the list of discovered valid modes obtained by ACPI probing
*/
/** * pacpi_set_piomode - set initial PIO mode data * @ap: ATA interface * @adev: ATA device
*/
staticvoid pacpi_set_piomode(struct ata_port *ap, struct ata_device *adev)
{ int unit = adev->devno; struct pata_acpi *acpi = ap->private_data; conststruct ata_timing *t;
if (!(acpi->gtm.flags & 0x10))
unit = 0;
/* Now stuff the nS values into the structure */
t = ata_timing_find_mode(adev->pio_mode);
acpi->gtm.drive[unit].pio = t->cycle;
ata_acpi_stm(ap, &acpi->gtm); /* See what mode we actually got */
ata_acpi_gtm(ap, &acpi->gtm);
}
/** * pacpi_set_dmamode - set initial DMA mode data * @ap: ATA interface * @adev: ATA device
*/
staticvoid pacpi_set_dmamode(struct ata_port *ap, struct ata_device *adev)
{ int unit = adev->devno; struct pata_acpi *acpi = ap->private_data; conststruct ata_timing *t;
if (!(acpi->gtm.flags & 0x10))
unit = 0;
/* Now stuff the nS values into the structure */
t = ata_timing_find_mode(adev->dma_mode); if (adev->dma_mode >= XFER_UDMA_0) {
acpi->gtm.drive[unit].dma = t->udma;
acpi->gtm.flags |= (1 << (2 * unit));
} else {
acpi->gtm.drive[unit].dma = t->cycle;
acpi->gtm.flags &= ~(1 << (2 * unit));
}
ata_acpi_stm(ap, &acpi->gtm); /* See what mode we actually got */
ata_acpi_gtm(ap, &acpi->gtm);
}
/** * pacpi_qc_issue - command issue * @qc: command pending * * Called when the libata layer is about to issue a command. We wrap * this interface so that we can load the correct ATA timings if * necessary.
*/
MODULE_AUTHOR("Alan Cox");
MODULE_DESCRIPTION("SCSI low-level driver for ATA in ACPI mode");
MODULE_LICENSE("GPL");
MODULE_DEVICE_TABLE(pci, pacpi_pci_tbl);
MODULE_VERSION(DRV_VERSION);
Messung V0.5
¤ Dauer der Verarbeitung: 0.23 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.