Lines Matching +full:timing +full:- +full:0
1 // SPDX-License-Identifier: GPL-2.0-only
3 * pata_triflex.c - Compaq PATA for new ATA layer
15 * Copyright (C) 2002 Hewlett-Packard Development Group, L.P.
36 * triflex_prereset - probe begin
46 { 0x80, 1, 0x01, 0x01 }, in triflex_prereset()
47 { 0x80, 1, 0x02, 0x02 } in triflex_prereset()
50 struct ata_port *ap = link->ap; in triflex_prereset()
51 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in triflex_prereset()
53 if (!pci_test_config_bits(pdev, &triflex_enable_bits[ap->port_no])) in triflex_prereset()
54 return -ENOENT; in triflex_prereset()
62 * triflex_load_timing - timing configuration
75 struct pci_dev *pdev = to_pci_dev(ap->host->dev); in triflex_load_timing()
76 u32 timing = 0; in triflex_load_timing() local
78 int channel_offset = ap->port_no ? 0x74: 0x70; in triflex_load_timing()
79 unsigned int is_slave = (adev->devno != 0); in triflex_load_timing()
88 timing = 0x0103;break; in triflex_load_timing()
90 timing = 0x0203;break; in triflex_load_timing()
92 timing = 0x0808;break; in triflex_load_timing()
96 timing = 0x0F0F;break; in triflex_load_timing()
98 timing = 0x0202;break; in triflex_load_timing()
100 timing = 0x0204;break; in triflex_load_timing()
102 timing = 0x0404;break; in triflex_load_timing()
104 timing = 0x0508;break; in triflex_load_timing()
106 timing = 0x0808;break; in triflex_load_timing()
110 triflex_timing &= ~ (0xFFFF << (16 * is_slave)); in triflex_load_timing()
111 triflex_timing |= (timing << (16 * is_slave)); in triflex_load_timing()
118 * triflex_set_piomode - set initial PIO mode data
122 * Use the timing loader to set up the PIO mode. We have to do this
128 triflex_load_timing(ap, adev, adev->pio_mode); in triflex_set_piomode()
132 * triflex_bmdma_start - DMA start callback
135 * Usually drivers set the DMA timing at the point the set_dmamode call
139 * the PIO timing when the DMA is finished.
144 triflex_load_timing(qc->ap, qc->dev, qc->dev->dma_mode); in triflex_bmdma_start()
149 * triflex_bmdma_stop - DMA stop callback
160 triflex_load_timing(qc->ap, qc->dev, qc->dev->pio_mode); in triflex_bmdma_stop()
186 ata_print_version_once(&dev->dev, DRV_VERSION); in triflex_init_one()
188 return ata_pci_bmdma_init_one(dev, ppi, &triflex_sht, NULL, 0); in triflex_init_one()
210 return 0; in triflex_ata_pci_device_suspend()
229 MODULE_DESCRIPTION("low-level driver for Compaq Triflex");