Lines Matching +full:dma +full:- +full:33 +full:bits

1 // SPDX-License-Identifier: GPL-2.0-only
6 * TODO: Needs custom DMA cleanup code
10 * linux/drivers/ide/pci/sc1200.c Version 0.91 28-Jan-2003
12 * Copyright (C) 2000-2002 Mark Lord <mlord@pobox.com>
37 * sc1200_clock - PCI clock
40 * in use. We return 0 for 33MHz 1 for 48MHz and 2 for 66Mhz
51 return 0; /* 33 MHz mode */ in sc1200_clock()
54 0/3 is 33Mhz 1 is 48 2 is 66 */ in sc1200_clock()
65 * sc1200_set_piomode - PIO setup
75 /* format0, 33Mhz */ in sc1200_set_piomode()
77 /* format1, 33Mhz */ in sc1200_set_piomode()
85 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in sc1200_set_piomode()
87 unsigned int reg = 0x40 + 0x10 * ap->port_no; in sc1200_set_piomode()
88 int mode = adev->pio_mode - XFER_PIO_0; in sc1200_set_piomode()
93 pci_write_config_dword(pdev, reg + 8 * adev->devno, in sc1200_set_piomode()
98 * sc1200_set_dmamode - DMA timing setup
121 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in sc1200_set_dmamode()
122 unsigned int reg = 0x40 + 0x10 * ap->port_no; in sc1200_set_dmamode()
123 int mode = adev->dma_mode; in sc1200_set_dmamode()
127 format = udma_timing[clock][mode - XFER_UDMA_0]; in sc1200_set_dmamode()
129 format = mwdma_timing[clock][mode - XFER_MW_DMA_0]; in sc1200_set_dmamode()
131 if (adev->devno == 0) { in sc1200_set_dmamode()
143 * sc1200_qc_issue - command issue
154 struct ata_port *ap = qc->ap; in sc1200_qc_issue()
155 struct ata_device *adev = qc->dev; in sc1200_qc_issue()
156 struct ata_device *prev = ap->private_data; in sc1200_qc_issue()
158 /* See if the DMA settings could be wrong */ in sc1200_qc_issue()
163 /* Switch the mode bits */ in sc1200_qc_issue()
171 * sc1200_qc_defer - implement serialization
179 struct ata_host *host = qc->ap->host; in sc1200_qc_defer()
180 struct ata_port *alt = host->ports[1 ^ qc->ap->port_no]; in sc1200_qc_defer()
190 if (alt && alt->qc_active) in sc1200_qc_defer()
212 * sc1200_init_one - Initialise an SC1200
254 MODULE_DESCRIPTION("low-level driver for the NS/AMD SC1200");