Lines Matching refs:drive
92 static void cs5536_program_dtc(ide_drive_t *drive, u8 tim) in cs5536_program_dtc() argument
94 struct pci_dev *pdev = to_pci_dev(drive->hwif->dev); in cs5536_program_dtc()
95 int dshift = (drive->dn & 1) ? IDE_D1_SHIFT : IDE_D0_SHIFT; in cs5536_program_dtc()
132 static void cs5536_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) in cs5536_set_pio_mode() argument
147 ide_drive_t *pair = ide_get_pair_dev(drive); in cs5536_set_pio_mode()
148 int cshift = (drive->dn & 1) ? IDE_CAST_D1_SHIFT : IDE_CAST_D0_SHIFT; in cs5536_set_pio_mode()
149 unsigned long timings = (unsigned long)ide_get_drivedata(drive); in cs5536_set_pio_mode()
151 const u8 pio = drive->pio_mode - XFER_PIO_0; in cs5536_set_pio_mode()
159 ide_set_drivedata(drive, (void *)timings); in cs5536_set_pio_mode()
161 cs5536_program_dtc(drive, drv_timings[pio]); in cs5536_set_pio_mode()
180 static void cs5536_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) in cs5536_set_dma_mode() argument
191 int dshift = (drive->dn & 1) ? IDE_D1_SHIFT : IDE_D0_SHIFT; in cs5536_set_dma_mode()
192 unsigned long timings = (unsigned long)ide_get_drivedata(drive); in cs5536_set_dma_mode()
194 const u8 mode = drive->dma_mode; in cs5536_set_dma_mode()
205 ide_set_drivedata(drive, (void *)timings); in cs5536_set_dma_mode()
211 static void cs5536_dma_start(ide_drive_t *drive) in cs5536_dma_start() argument
213 unsigned long timings = (unsigned long)ide_get_drivedata(drive); in cs5536_dma_start()
215 if (drive->current_speed < XFER_UDMA_0 && in cs5536_dma_start()
217 cs5536_program_dtc(drive, timings >> 8); in cs5536_dma_start()
219 ide_dma_start(drive); in cs5536_dma_start()
222 static int cs5536_dma_end(ide_drive_t *drive) in cs5536_dma_end() argument
224 int ret = ide_dma_end(drive); in cs5536_dma_end()
225 unsigned long timings = (unsigned long)ide_get_drivedata(drive); in cs5536_dma_end()
227 if (drive->current_speed < XFER_UDMA_0 && in cs5536_dma_end()
229 cs5536_program_dtc(drive, timings & IDE_DRV_MASK); in cs5536_dma_end()