pata_triflex.c (75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37) | pata_triflex.c (2ee628f3cf2584927ab30c585bfa268247486731) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * pata_triflex.c - Compaq PATA for new ATA layer 4 * (C) 2005 Red Hat Inc 5 * Alan Cox <alan@lxorguk.ukuu.org.uk> 6 * 7 * based upon 8 * --- 115 unchanged lines hidden (view full) --- 124 * has been no DMA then the PIO timings are still needed. 125 */ 126static void triflex_set_piomode(struct ata_port *ap, struct ata_device *adev) 127{ 128 triflex_load_timing(ap, adev, adev->pio_mode); 129} 130 131/** | 1// SPDX-License-Identifier: GPL-2.0-only 2/* 3 * pata_triflex.c - Compaq PATA for new ATA layer 4 * (C) 2005 Red Hat Inc 5 * Alan Cox <alan@lxorguk.ukuu.org.uk> 6 * 7 * based upon 8 * --- 115 unchanged lines hidden (view full) --- 124 * has been no DMA then the PIO timings are still needed. 125 */ 126static void triflex_set_piomode(struct ata_port *ap, struct ata_device *adev) 127{ 128 triflex_load_timing(ap, adev, adev->pio_mode); 129} 130 131/** |
132 * triflex_dma_start - DMA start callback | 132 * triflex_bmdma_start - DMA start callback |
133 * @qc: Command in progress 134 * 135 * Usually drivers set the DMA timing at the point the set_dmamode call 136 * is made. Triflex however requires we load new timings on the 137 * transition or keep matching PIO/DMA pairs (ie MWDMA2/PIO4 etc). 138 * We load the DMA timings just before starting DMA and then restore 139 * the PIO timing when the DMA is finished. 140 */ 141 142static void triflex_bmdma_start(struct ata_queued_cmd *qc) 143{ 144 triflex_load_timing(qc->ap, qc->dev, qc->dev->dma_mode); 145 ata_bmdma_start(qc); 146} 147 148/** | 133 * @qc: Command in progress 134 * 135 * Usually drivers set the DMA timing at the point the set_dmamode call 136 * is made. Triflex however requires we load new timings on the 137 * transition or keep matching PIO/DMA pairs (ie MWDMA2/PIO4 etc). 138 * We load the DMA timings just before starting DMA and then restore 139 * the PIO timing when the DMA is finished. 140 */ 141 142static void triflex_bmdma_start(struct ata_queued_cmd *qc) 143{ 144 triflex_load_timing(qc->ap, qc->dev, qc->dev->dma_mode); 145 ata_bmdma_start(qc); 146} 147 148/** |
149 * triflex_dma_stop - DMA stop callback 150 * @ap: ATA interface 151 * @adev: ATA device | 149 * triflex_bmdma_stop - DMA stop callback 150 * @qc: ATA command |
152 * 153 * We loaded new timings in dma_start, as a result we need to restore 154 * the PIO timings in dma_stop so that the next command issue gets the 155 * right clock values. 156 */ 157 158static void triflex_bmdma_stop(struct ata_queued_cmd *qc) 159{ --- 77 unchanged lines hidden --- | 151 * 152 * We loaded new timings in dma_start, as a result we need to restore 153 * the PIO timings in dma_stop so that the next command issue gets the 154 * right clock values. 155 */ 156 157static void triflex_bmdma_stop(struct ata_queued_cmd *qc) 158{ --- 77 unchanged lines hidden --- |