• Home
  • Raw
  • Download

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

2  * pata_serverworks.c 	- Serverworks PATA for new ATA layer
10 * Copyright (C) 1998-2000 Michel Aubry
11 * Copyright (C) 1998-2000 Andrzej Krzysztofowicz
12 * Copyright (C) 1998-2000 Andre Hedrick <andre@linux-ide.org>
26 * *** to detect 80-conductor cable presence. ***
60 * oem_cable - Dell/Sun serverworks cable detection
69 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in oem_cable()
71 if (pdev->subsystem_device & (1 << (ap->port_no + 14))) in oem_cable()
95 * serverworks_cable_detect - cable detection
104 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in serverworks_cable_detect()
107 while(cb->device) { in serverworks_cable_detect()
108 if (cb->device == pdev->device && in serverworks_cable_detect()
109 (cb->subvendor == pdev->subsystem_vendor || in serverworks_cable_detect()
110 cb->subvendor == PCI_ANY_ID)) { in serverworks_cable_detect()
111 return cb->cable_detect(ap); in serverworks_cable_detect()
117 return -1; /* kill compiler warning */ in serverworks_cable_detect()
121 * serverworks_is_csb - Check for CSB or OSB
130 switch (pdev->device) { in serverworks_is_csb()
143 * serverworks_osb4_filter - mode selection filter
154 if (adev->class == ATA_DEV_ATA) in serverworks_osb4_filter()
161 * serverworks_csb_filter - mode selection filter
175 if (adev->class != ATA_DEV_ATA) in serverworks_csb_filter()
179 ata_id_c_string(adev->id, model_num, ATA_ID_PROD, sizeof(model_num)); in serverworks_csb_filter()
189 * serverworks_set_piomode - set initial PIO mode data
199 int offset = 1 + 2 * ap->port_no - adev->devno; in serverworks_set_piomode()
200 int devbits = (2 * ap->port_no + adev->devno) * 4; in serverworks_set_piomode()
202 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in serverworks_set_piomode()
203 int pio = adev->pio_mode - XFER_PIO_0; in serverworks_set_piomode()
217 * serverworks_set_dmamode - set initial DMA mode data
229 int offset = 1 + 2 * ap->port_no - adev->devno; in serverworks_set_dmamode()
230 int devbits = 2 * ap->port_no + adev->devno; in serverworks_set_dmamode()
231 u8 ultra; in serverworks_set_dmamode() local
233 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in serverworks_set_dmamode()
236 pci_read_config_byte(pdev, 0x56 + ap->port_no, &ultra); in serverworks_set_dmamode()
237 ultra &= ~(0x0F << (adev->devno * 4)); in serverworks_set_dmamode()
239 if (adev->dma_mode >= XFER_UDMA_0) { in serverworks_set_dmamode()
242 ultra |= (adev->dma_mode - XFER_UDMA_0) in serverworks_set_dmamode()
243 << (adev->devno * 4); in serverworks_set_dmamode()
247 dma_mode[adev->dma_mode - XFER_MW_DMA_0]); in serverworks_set_dmamode()
250 pci_write_config_byte(pdev, 0x56 + ap->port_no, ultra); in serverworks_set_dmamode()
294 return -ENODEV; in serverworks_fixup_osb4()
302 if (!(PCI_FUNC(pdev->devfn) & 1)) { in serverworks_fixup_csb()
331 * 2. enable DMA modes with bits 0-1 in serverworks_fixup_csb()
339 if (!(PCI_FUNC(pdev->devfn) & 1)) in serverworks_fixup_csb()
342 btr |= (pdev->revision >= SVWKS_CSB5_REVISION_NEW) ? 0x3 : 0x2; in serverworks_fixup_csb()
351 /* Setup HT1000 SouthBridge Controller - Single Channel Only */ in serverworks_fixup_ht1000()
365 switch (pdev->device) { in serverworks_fixup()
405 }, { /* CSB5 - later revisions*/ in serverworks_init_one()
413 const struct ata_port_info *ppi[] = { &info[id->driver_data], NULL }; in serverworks_init_one()
424 if (pdev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) { in serverworks_init_one()
431 else if ((pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB5IDE) || in serverworks_init_one()
432 (pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE) || in serverworks_init_one()
433 (pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2)) { in serverworks_init_one()
441 if (pdev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2) in serverworks_init_one()
489 MODULE_DESCRIPTION("low-level driver for Serverworks OSB4/CSB5/CSB6");