Lines Matching +full:pio +full:- +full:mode
1 // SPDX-License-Identifier: GPL-2.0-only
9 * Copyright (C) 1999-2003 Andre Hedrick <andre@linux-ide.org>
35 * 0:3 data_high_time. Inactive time of DIOW_/DIOR_ for PIO and MW DMA.
37 * 4:7 data_low_time. Active time of DIOW_/DIOR_ for PIO and MW DMA.
44 * 19:21 pre_high_time. Time to initialize 1st cycle for PIO and MW DMA xfer.
45 * 22:24 cmd_pre_high_time. Time to initialize 1st PIO cycle for task file
49 * 30 PIO_MST enable. If set, the chip is in bus master mode during
50 * PIO xfer.
112 * hpt36x_find_mode - find the hpt36x timing
114 * @speed: transfer mode
122 struct hpt_clock *clocks = ap->host->private_data; in hpt36x_find_mode()
124 while (clocks->xfer_mode) { in hpt36x_find_mode()
125 if (clocks->xfer_mode == speed) in hpt36x_find_mode()
126 return clocks->timing; in hpt36x_find_mode()
150 "IBM-DTLA-307075",
151 "IBM-DTLA-307060",
152 "IBM-DTLA-307045",
153 "IBM-DTLA-307030",
154 "IBM-DTLA-307020",
155 "IBM-DTLA-307015",
156 "IBM-DTLA-305040",
157 "IBM-DTLA-305030",
158 "IBM-DTLA-305020",
159 "IC35L010AVER07-0",
160 "IC35L020AVER07-0",
161 "IC35L030AVER07-0",
162 "IC35L040AVER07-0",
163 "IC35L060AVER07-0",
179 ata_id_c_string(dev->id, model_num, ATA_ID_PROD, sizeof(model_num)); in hpt_dma_blacklisted()
181 i = match_string(list, -1, model_num); in hpt_dma_blacklisted()
190 * hpt366_filter - mode selection filter
199 if (adev->class == ATA_DEV_ATA) { in hpt366_filter()
206 } else if (adev->class == ATA_DEV_ATAPI) in hpt366_filter()
214 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in hpt36x_cable_detect()
228 u8 mode) in hpt366_set_mode() argument
230 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in hpt366_set_mode()
231 u32 addr = 0x40 + 4 * adev->devno; in hpt366_set_mode()
235 if (mode < XFER_MW_DMA_0) in hpt366_set_mode()
237 else if (mode < XFER_UDMA_0) in hpt366_set_mode()
242 t = hpt36x_find_mode(ap, mode); in hpt366_set_mode()
245 * Combine new mode bits with old config bits and disable in hpt366_set_mode()
246 * on-chip PIO FIFO/buffer (and PIO MST mode as well) to avoid in hpt366_set_mode()
255 * hpt366_set_piomode - PIO setup
259 * Perform PIO mode setup.
264 hpt366_set_mode(ap, adev, adev->pio_mode); in hpt366_set_piomode()
268 * hpt366_set_dmamode - DMA timing setup
273 * PIO, load the mode number and then set MWDMA or UDMA flag.
278 hpt366_set_mode(ap, adev, adev->dma_mode); in hpt366_set_dmamode()
282 * hpt366_prereset - reset the hpt36x bus
292 struct ata_port *ap = link->ap; in hpt366_prereset()
293 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in hpt366_prereset()
297 * to both functions -- really stupid design decision... :-( in hpt366_prereset()
306 return -ENOENT; in hpt366_prereset()
333 * hpt36x_init_chipset - common chip setup
359 * hpt36x_init_one - Initialise an HPT366/368
400 if (dev->revision > 2) in hpt36x_init_one()
401 return -ENODEV; in hpt36x_init_one()
408 /* info_hpt366 is safe against re-entry so we can scribble on it */ in hpt36x_init_one()
458 MODULE_DESCRIPTION("low-level driver for the Highpoint HPT366/368");