Lines Matching refs:drive

114 static inline unsigned long siimage_seldev(ide_drive_t *drive, int r)  in siimage_seldev()  argument
116 ide_hwif_t *hwif = drive->hwif; in siimage_seldev()
118 u8 unit = drive->dn & 1; in siimage_seldev()
195 static u8 sil_pata_udma_filter(ide_drive_t *drive) in sil_pata_udma_filter() argument
197 ide_hwif_t *hwif = drive->hwif; in sil_pata_udma_filter()
223 static u8 sil_sata_udma_filter(ide_drive_t *drive) in sil_sata_udma_filter() argument
225 char *m = (char *)&drive->id[ATA_ID_PROD]; in sil_sata_udma_filter()
239 static void sil_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) in sil_set_pio_mode() argument
245 ide_drive_t *pair = ide_get_pair_dev(drive); in sil_set_pio_mode()
248 unsigned long addr = siimage_seldev(drive, 0x04); in sil_set_pio_mode()
251 const u8 pio = drive->pio_mode - XFER_PIO_0; in sil_set_pio_mode()
257 u8 unit = drive->dn & 1; in sil_set_pio_mode()
281 if (ide_pio_need_iordy(drive, pio)) { in sil_set_pio_mode()
298 static void sil_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) in sil_set_dma_mode() argument
307 u8 mode = 0, unit = drive->dn & 1; in sil_set_dma_mode()
311 unsigned long ma = siimage_seldev(drive, 0x08); in sil_set_dma_mode()
312 unsigned long ua = siimage_seldev(drive, 0x0C); in sil_set_dma_mode()
313 const u8 speed = drive->dma_mode; in sil_set_dma_mode()
359 static int siimage_mmio_dma_test_irq(ide_drive_t *drive) in siimage_mmio_dma_test_irq() argument
361 ide_hwif_t *hwif = drive->hwif; in siimage_mmio_dma_test_irq()
377 drive->name, sata_error, watchdog, __func__); in siimage_mmio_dma_test_irq()
393 static int siimage_dma_test_irq(ide_drive_t *drive) in siimage_dma_test_irq() argument
395 if (drive->hwif->host_flags & IDE_HFLAG_MMIO) in siimage_dma_test_irq()
396 return siimage_mmio_dma_test_irq(drive); in siimage_dma_test_irq()
398 return ide_dma_test_irq(drive); in siimage_dma_test_irq()
409 static int sil_sata_reset_poll(ide_drive_t *drive) in sil_sata_reset_poll() argument
411 ide_hwif_t *hwif = drive->hwif; in sil_sata_reset_poll()
437 static void sil_sata_pre_reset(ide_drive_t *drive) in sil_sata_pre_reset() argument
439 if (drive->media == ide_disk) { in sil_sata_pre_reset()
440 drive->special_flags &= in sil_sata_pre_reset()
605 static int is_dev_seagate_sata(ide_drive_t *drive) in is_dev_seagate_sata() argument
607 const char *s = (const char *)&drive->id[ATA_ID_PROD]; in is_dev_seagate_sata()
614 "errata fix\n", drive->name); in is_dev_seagate_sata()
630 static void sil_quirkproc(ide_drive_t *drive) in sil_quirkproc() argument
632 ide_hwif_t *hwif = drive->hwif; in sil_quirkproc()
635 if (!is_sata(hwif) || !is_dev_seagate_sata(drive)) in sil_quirkproc()