Lines Matching +full:ultra +full:- +full:low

1 // SPDX-License-Identifier: GPL-2.0-only
3 * pata_artop.c - ARTOP ATA controller driver
9 * Copyright (C) 1999-2002 Andre Hedrick <andre@linux-ide.org>
11 * driver by Thibaut VARENE <varenet@parisc-linux.org>
43 * artop62x0_pre_reset - probe begin
57 struct ata_port *ap = link->ap; in artop62x0_pre_reset()
58 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop62x0_pre_reset()
61 if ((pdev->device & 1) && in artop62x0_pre_reset()
62 !pci_test_config_bits(pdev, &artop_enable_bits[ap->port_no])) in artop62x0_pre_reset()
63 return -ENOENT; in artop62x0_pre_reset()
69 * artop6260_cable_detect - identify cable type
77 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6260_cable_detect()
80 if (tmp & (1 << ap->port_no)) in artop6260_cable_detect()
86 * artop6210_load_piomode - Load a set of PATA PIO timings
101 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6210_load_piomode()
102 int dn = adev->devno + 2 * ap->port_no; in artop6210_load_piomode()
113 * artop6210_set_piomode - Initialize host controller PATA PIO timings
128 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6210_set_piomode()
129 int dn = adev->devno + 2 * ap->port_no; in artop6210_set_piomode()
130 u8 ultra; in artop6210_set_piomode() local
132 artop6210_load_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in artop6210_set_piomode()
135 pci_read_config_byte(pdev, 0x54, &ultra); in artop6210_set_piomode()
136 ultra &= ~(3 << (2 * dn)); in artop6210_set_piomode()
137 pci_write_config_byte(pdev, 0x54, ultra); in artop6210_set_piomode()
141 * artop6260_load_piomode - Initialize host controller PATA PIO timings
155 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6260_load_piomode()
156 int dn = adev->devno + 2 * ap->port_no; in artop6260_load_piomode()
167 * artop6260_set_piomode - Initialize host controller PATA PIO timings
182 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6260_set_piomode()
183 u8 ultra; in artop6260_set_piomode() local
185 artop6260_load_piomode(ap, adev, adev->pio_mode - XFER_PIO_0); in artop6260_set_piomode()
188 pci_read_config_byte(pdev, 0x44 + ap->port_no, &ultra); in artop6260_set_piomode()
189 ultra &= ~(7 << (4 * adev->devno)); /* One nibble per drive */ in artop6260_set_piomode()
190 pci_write_config_byte(pdev, 0x44 + ap->port_no, ultra); in artop6260_set_piomode()
194 * artop6210_set_dmamode - Initialize host controller PATA PIO timings
207 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6210_set_dmamode()
208 int dn = adev->devno + 2 * ap->port_no; in artop6210_set_dmamode()
209 u8 ultra; in artop6210_set_dmamode() local
211 if (adev->dma_mode == XFER_MW_DMA_0) in artop6210_set_dmamode()
219 pci_read_config_byte(pdev, 0x54, &ultra); in artop6210_set_dmamode()
220 ultra &= ~(3 << (2 * dn)); in artop6210_set_dmamode()
222 /* Add ultra DMA bits if in UDMA mode */ in artop6210_set_dmamode()
223 if (adev->dma_mode >= XFER_UDMA_0) { in artop6210_set_dmamode()
224 u8 mode = (adev->dma_mode - XFER_UDMA_0) + 1 - clock; in artop6210_set_dmamode()
227 ultra |= (mode << (2 * dn)); in artop6210_set_dmamode()
229 pci_write_config_byte(pdev, 0x54, ultra); in artop6210_set_dmamode()
233 * artop6260_set_dmamode - Initialize host controller PATA PIO timings
247 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in artop6260_set_dmamode()
248 u8 ultra; in artop6260_set_dmamode() local
250 if (adev->dma_mode == XFER_MW_DMA_0) in artop6260_set_dmamode()
258 /* Add ultra DMA bits if in UDMA mode */ in artop6260_set_dmamode()
259 pci_read_config_byte(pdev, 0x44 + ap->port_no, &ultra); in artop6260_set_dmamode()
260 ultra &= ~(7 << (4 * adev->devno)); /* One nibble per drive */ in artop6260_set_dmamode()
261 if (adev->dma_mode >= XFER_UDMA_0) { in artop6260_set_dmamode()
262 u8 mode = adev->dma_mode - XFER_UDMA_0 + 1 - clock; in artop6260_set_dmamode()
265 ultra |= (mode << (4 * adev->devno)); in artop6260_set_dmamode()
267 pci_write_config_byte(pdev, 0x44 + ap->port_no, ultra); in artop6260_set_dmamode()
271 * artop6210_qc_defer - implement serialization
279 struct ata_host *host = qc->ap->host; in artop6210_qc_defer()
280 struct ata_port *alt = host->ports[1 ^ qc->ap->port_no]; in artop6210_qc_defer()
290 if (alt && alt->qc_active) in artop6210_qc_defer()
320 switch (pdev->device) { in atp8xx_fixup()
349 * artop_init_one - Register ARTOP ATA PCI device with kernel services
359 * Zero on success, or -ERRNO value.
395 ata_print_version_once(&pdev->dev, DRV_VERSION); in artop_init_one()
401 switch (id->driver_data) { in artop_init_one()
464 MODULE_DESCRIPTION("SCSI low-level driver for ARTOP PATA");