Lines Matching refs:drive
409 ((void __iomem *)((drive)->hwif->io_ports.data_addr + (x)))
416 static void pmac_ide_apply_timings(ide_drive_t *drive) in pmac_ide_apply_timings() argument
418 ide_hwif_t *hwif = drive->hwif; in pmac_ide_apply_timings()
421 if (drive->dn & 1) in pmac_ide_apply_timings()
433 static void pmac_ide_kauai_apply_timings(ide_drive_t *drive) in pmac_ide_kauai_apply_timings() argument
435 ide_hwif_t *hwif = drive->hwif; in pmac_ide_kauai_apply_timings()
438 if (drive->dn & 1) { in pmac_ide_kauai_apply_timings()
452 pmac_ide_do_update_timings(ide_drive_t *drive) in pmac_ide_do_update_timings() argument
454 ide_hwif_t *hwif = drive->hwif; in pmac_ide_do_update_timings()
460 pmac_ide_kauai_apply_timings(drive); in pmac_ide_do_update_timings()
462 pmac_ide_apply_timings(drive); in pmac_ide_do_update_timings()
465 static void pmac_dev_select(ide_drive_t *drive) in pmac_dev_select() argument
467 pmac_ide_apply_timings(drive); in pmac_dev_select()
469 writeb(drive->select | ATA_DEVICE_OBS, in pmac_dev_select()
470 (void __iomem *)drive->hwif->io_ports.device_addr); in pmac_dev_select()
473 static void pmac_kauai_dev_select(ide_drive_t *drive) in pmac_kauai_dev_select() argument
475 pmac_ide_kauai_apply_timings(drive); in pmac_kauai_dev_select()
477 writeb(drive->select | ATA_DEVICE_OBS, in pmac_kauai_dev_select()
478 (void __iomem *)drive->hwif->io_ports.device_addr); in pmac_kauai_dev_select()
498 static void pmac_ide_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive) in pmac_ide_set_pio_mode() argument
501 const u8 pio = drive->pio_mode - XFER_PIO_0; in pmac_ide_set_pio_mode()
509 timings = &pmif->timings[drive->dn & 1]; in pmac_ide_set_pio_mode()
512 cycle_time = ide_pio_cycle_time(drive, pio); in pmac_ide_set_pio_mode()
570 drive->name, pio, *timings); in pmac_ide_set_pio_mode()
574 pmac_ide_do_update_timings(drive); in pmac_ide_set_pio_mode()
645 set_timings_mdma(ide_drive_t *drive, int intf_type, u32 *timings, u32 *timings2, in set_timings_mdma() argument
648 u16 *id = drive->id; in set_timings_mdma()
701 drive->name, cycleTime, accessTime, recTime); in set_timings_mdma()
774 drive->name, speed & 0xf, *timings); in set_timings_mdma()
778 static void pmac_ide_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive) in pmac_ide_set_dma_mode() argument
783 u8 unit = drive->dn & 1; in pmac_ide_set_dma_mode()
784 const u8 speed = drive->dma_mode; in pmac_ide_set_dma_mode()
804 set_timings_mdma(drive, pmif->kind, &tl[0], &tl[1], speed); in pmac_ide_set_dma_mode()
813 pmac_ide_do_update_timings(drive); in pmac_ide_set_dma_mode()
945 static void pmac_ide_init_dev(ide_drive_t *drive) in pmac_ide_init_dev() argument
947 ide_hwif_t *hwif = drive->hwif; in pmac_ide_init_dev()
952 drive->dev_flags &= ~IDE_DFLAG_NOPROBE; in pmac_ide_init_dev()
955 drive->dev_flags |= IDE_DFLAG_NOPROBE; in pmac_ide_init_dev()
1457 static int pmac_ide_build_dmatable(ide_drive_t *drive, struct ide_cmd *cmd) in pmac_ide_build_dmatable() argument
1459 ide_hwif_t *hwif = drive->hwif; in pmac_ide_build_dmatable()
1487 "switching to PIO on Ohare chipset\n", drive->name); in pmac_ide_build_dmatable()
1497 drive->name); in pmac_ide_build_dmatable()
1525 printk(KERN_DEBUG "%s: empty DMA table?\n", drive->name); in pmac_ide_build_dmatable()
1534 static int pmac_ide_dma_setup(ide_drive_t *drive, struct ide_cmd *cmd) in pmac_ide_dma_setup() argument
1536 ide_hwif_t *hwif = drive->hwif; in pmac_ide_dma_setup()
1538 u8 unit = drive->dn & 1, ata4 = (pmif->kind == controller_kl_ata4); in pmac_ide_dma_setup()
1541 if (pmac_ide_build_dmatable(drive, cmd) == 0) in pmac_ide_dma_setup()
1559 pmac_ide_dma_start(ide_drive_t *drive) in pmac_ide_dma_start() argument
1561 ide_hwif_t *hwif = drive->hwif; in pmac_ide_dma_start()
1576 pmac_ide_dma_end (ide_drive_t *drive) in pmac_ide_dma_end() argument
1578 ide_hwif_t *hwif = drive->hwif; in pmac_ide_dma_end()
1600 pmac_ide_dma_test_irq (ide_drive_t *drive) in pmac_ide_dma_test_irq() argument
1602 ide_hwif_t *hwif = drive->hwif; in pmac_ide_dma_test_irq()
1649 static void pmac_ide_dma_host_set(ide_drive_t *drive, int on) in pmac_ide_dma_host_set() argument
1654 pmac_ide_dma_lost_irq (ide_drive_t *drive) in pmac_ide_dma_lost_irq() argument
1656 ide_hwif_t *hwif = drive->hwif; in pmac_ide_dma_lost_irq()