Lines Matching refs:hwif
83 HWGROUP(drive)->hwif->ide_dma_on(drive); in ide_end_request()
116 ide_hwif_t *hwif = HWIF(drive); in ide_end_drive_cmd() local
134 args[2] = hwif->INB(IDE_NSECTOR_REG); in ide_end_drive_cmd()
147 args[2] = hwif->INB(IDE_NSECTOR_REG); in ide_end_drive_cmd()
148 args[3] = hwif->INB(IDE_SECTOR_REG); in ide_end_drive_cmd()
149 args[4] = hwif->INB(IDE_LCYL_REG); in ide_end_drive_cmd()
150 args[5] = hwif->INB(IDE_HCYL_REG); in ide_end_drive_cmd()
151 args[6] = hwif->INB(IDE_SELECT_REG); in ide_end_drive_cmd()
163 u16 data = hwif->INW(IDE_DATA_REG); in ide_end_drive_cmd()
168 args->tfRegister[IDE_NSECTOR_OFFSET] = hwif->INB(IDE_NSECTOR_REG); in ide_end_drive_cmd()
169 args->tfRegister[IDE_SECTOR_OFFSET] = hwif->INB(IDE_SECTOR_REG); in ide_end_drive_cmd()
170 args->tfRegister[IDE_LCYL_OFFSET] = hwif->INB(IDE_LCYL_REG); in ide_end_drive_cmd()
171 args->tfRegister[IDE_HCYL_OFFSET] = hwif->INB(IDE_HCYL_REG); in ide_end_drive_cmd()
172 args->tfRegister[IDE_SELECT_OFFSET] = hwif->INB(IDE_SELECT_REG); in ide_end_drive_cmd()
176 hwif->OUTB(drive->ctl|0x80, IDE_CONTROL_REG_HOB); in ide_end_drive_cmd()
177 args->hobRegister[IDE_FEATURE_OFFSET_HOB] = hwif->INB(IDE_FEATURE_REG); in ide_end_drive_cmd()
178 args->hobRegister[IDE_NSECTOR_OFFSET_HOB] = hwif->INB(IDE_NSECTOR_REG); in ide_end_drive_cmd()
179 args->hobRegister[IDE_SECTOR_OFFSET_HOB] = hwif->INB(IDE_SECTOR_REG); in ide_end_drive_cmd()
180 args->hobRegister[IDE_LCYL_OFFSET_HOB] = hwif->INB(IDE_LCYL_REG); in ide_end_drive_cmd()
181 args->hobRegister[IDE_HCYL_OFFSET_HOB] = hwif->INB(IDE_HCYL_REG); in ide_end_drive_cmd()
245 ide_hwif_t *hwif; in ide_error() local
253 hwif = HWIF(drive); in ide_error()
278 (hwif->INB(IDE_COMMAND_REG) == WIN_SPECIFY)) in ide_error()
298 if (hwif->INB(IDE_STATUS_REG) & (BUSY_STAT|DRQ_STAT)) { in ide_error()
300 hwif->OUTB(WIN_IDLEIMMEDIATE,IDE_COMMAND_REG); in ide_error()
334 ide_hwif_t *hwif; in ide_abort() local
340 hwif = HWIF(drive); in ide_abort()
374 ide_hwif_t *hwif = HWIF(drive); in ide_cmd() local
376 hwif->OUTB(drive->ctl,IDE_CONTROL_REG); /* clear nIEN */ in ide_cmd()
378 hwif->OUTB(nsect,IDE_NSECTOR_REG); in ide_cmd()
397 ide_hwif_t *hwif = HWIF(drive); in drive_cmd_intr() local
399 u8 stat = hwif->INB(IDE_STATUS_REG); in drive_cmd_intr()
406 hwif->ata_input_data(drive, &args[4], args[3] * SECTOR_WORDS); in drive_cmd_intr()
408 while (((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) && retries--) in drive_cmd_intr()
415 ide_end_drive_cmd(drive, stat, hwif->INB(IDE_ERROR_REG)); in drive_cmd_intr()
463 ide_hwif_t *hwif = HWIF(drive); in execute_drive_cmd() local
491 hwif->OUTB(args[1], IDE_FEATURE_REG); in execute_drive_cmd()
492 hwif->OUTB(args[3], IDE_SECTOR_REG); in execute_drive_cmd()
493 hwif->OUTB(args[4], IDE_LCYL_REG); in execute_drive_cmd()
494 hwif->OUTB(args[5], IDE_HCYL_REG); in execute_drive_cmd()
498 hwif->OUTB(sel, IDE_SELECT_REG); in execute_drive_cmd()
515 hwif->OUTB(0x4f, IDE_LCYL_REG); in execute_drive_cmd()
516 hwif->OUTB(0xc2, IDE_HCYL_REG); in execute_drive_cmd()
517 hwif->OUTB(args[2],IDE_FEATURE_REG); in execute_drive_cmd()
518 hwif->OUTB(args[1],IDE_SECTOR_REG); in execute_drive_cmd()
522 hwif->OUTB(args[2],IDE_FEATURE_REG); in execute_drive_cmd()
537 hwif->INB(IDE_STATUS_REG), in execute_drive_cmd()
538 hwif->INB(IDE_ERROR_REG)); in execute_drive_cmd()
560 ide_hwif_t *hwif = HWIF(drive); in ide_start_request() local
564 hwif->name, (unsigned long) rq); in ide_start_request()
582 hwif->name, kdevname(rq->rq_dev)); in ide_start_request()
741 ide_hwif_t *hwif; in ide_do_request() local
792 hwif = HWIF(drive); in ide_do_request()
793 if (hwgroup->hwif->sharing_irq && in ide_do_request()
794 hwif != hwgroup->hwif && in ide_do_request()
795 hwif->io_ports[IDE_CONTROL_OFFSET]) { in ide_do_request()
799 hwgroup->hwif = hwif; in ide_do_request()
818 if (hwif->irq != masked_irq) in ide_do_request()
819 disable_irq_nosync(hwif->irq); in ide_do_request()
825 if (hwif->irq != masked_irq) in ide_do_request()
826 enable_irq(hwif->irq); in ide_do_request()
839 ide_hwif_t *hwif = (ide_hwif_t *)blk_dev[MAJOR(dev)].data; in ide_get_queue() local
841 return &hwif->drives[DEVICE_NR(dev) & 1].queue; in ide_get_queue()
863 ide_hwif_t *hwif = HWIF(drive); in ide_dma_timeout_retry() local
870 (void) hwif->ide_dma_end(drive); in ide_dma_timeout_retry()
880 hwif->INB(IDE_STATUS_REG)); in ide_dma_timeout_retry()
883 (void) hwif->ide_dma_timeout(drive); in ide_dma_timeout_retry()
893 (void) hwif->ide_dma_off_quietly(drive); in ide_dma_timeout_retry()
954 ide_hwif_t *hwif; in ide_timer_expiry() local
977 hwif = HWIF(drive); in ide_timer_expiry()
979 disable_irq_nosync(hwif->irq); in ide_timer_expiry()
982 disable_irq(hwif->irq); in ide_timer_expiry()
992 (void) hwgroup->hwif->ide_dma_lostirq(drive); in ide_timer_expiry()
993 (void)ide_ack_intr(hwif); in ide_timer_expiry()
1000 startstop = DRIVER(drive)->error(drive, "irq timeout", hwif->INB(IDE_STATUS_REG)); in ide_timer_expiry()
1005 enable_irq(hwif->irq); in ide_timer_expiry()
1052 ide_hwif_t *hwif = hwgroup->hwif; in unexpected_intr() local
1058 if (hwif->irq == irq) { in unexpected_intr()
1059 stat = hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]); in unexpected_intr()
1068 hwif->name, in unexpected_intr()
1069 (hwif->next==hwgroup->hwif) ? "" : "(?)", stat, count); in unexpected_intr()
1073 } while ((hwif = hwif->next) != hwgroup->hwif); in unexpected_intr()
1105 ide_hwif_t *hwif; in ide_intr() local
1111 hwif = hwgroup->hwif; in ide_intr()
1113 if (!ide_ack_intr(hwif)) { in ide_intr()
1133 if (hwif->pci_dev && !hwif->pci_dev->vendor) in ide_intr()
1147 (void) hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]); in ide_intr()
1199 ide_do_request(hwgroup, hwif->irq); in ide_intr()
1220 ide_hwif_t *hwif = &ide_hwifs[h]; in ide_info_ptr() local
1221 if (hwif->present && major == hwif->major) { in ide_info_ptr()
1224 ide_drive_t *drive = &hwif->drives[unit]; in ide_info_ptr()