Lines Matching refs:adev
39 static void radisys_set_piomode (struct ata_port *ap, struct ata_device *adev) in radisys_set_piomode() argument
41 unsigned int pio = adev->pio_mode - XFER_PIO_0; in radisys_set_piomode()
62 if (ata_pio_need_iordy(adev)) in radisys_set_piomode()
70 idetm_data |= (control << (4 * adev->devno)); in radisys_set_piomode()
76 ap->private_data = adev; in radisys_set_piomode()
90 static void radisys_set_dmamode (struct ata_port *ap, struct ata_device *adev) in radisys_set_dmamode() argument
111 if (adev->dma_mode < XFER_UDMA_0) { in radisys_set_dmamode()
112 unsigned int mwdma = adev->dma_mode - XFER_MW_DMA_0; in radisys_set_dmamode()
122 if (adev->pio_mode < needed_pio[mwdma]) in radisys_set_dmamode()
129 idetm_data |= control << (4 * adev->devno); in radisys_set_dmamode()
132 udma_enable &= ~(1 << adev->devno); in radisys_set_dmamode()
140 if (adev->xfer_mode == XFER_UDMA_2) in radisys_set_dmamode()
141 udma_mode &= ~(2 << (adev->devno * 4)); in radisys_set_dmamode()
143 udma_mode |= (2 << (adev->devno * 4)); in radisys_set_dmamode()
147 udma_enable |= (1 << adev->devno); in radisys_set_dmamode()
153 ap->private_data = adev; in radisys_set_dmamode()
170 struct ata_device *adev = qc->dev; in radisys_qc_issue() local
172 if (adev != ap->private_data) { in radisys_qc_issue()
174 if (adev->dma_mode < XFER_UDMA_0) { in radisys_qc_issue()
175 if (adev->dma_mode) in radisys_qc_issue()
176 radisys_set_dmamode(ap, adev); in radisys_qc_issue()
177 else if (adev->pio_mode) in radisys_qc_issue()
178 radisys_set_piomode(ap, adev); in radisys_qc_issue()