• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/ide/

Lines Matching refs:hwif

78 		HWGROUP(drive)->hwif->ide_dma_on(drive);
199 if (drive->hwif->tuneproc != NULL)
200 drive->hwif->tuneproc(drive, 255);
218 * Right now, all we do is call hwif->ide_dma_check(drive),
224 if (drive->hwif->ide_dma_check == NULL)
226 drive->hwif->dma_off_quietly(drive);
275 HWGROUP(drive)->hwif->ide_dma_on(drive);
368 ide_hwif_t *hwif = HWIF(drive);
384 args[2] = hwif->INB(IDE_NSECTOR_REG);
394 args[2] = hwif->INB(IDE_NSECTOR_REG);
395 args[3] = hwif->INB(IDE_SECTOR_REG);
396 args[4] = hwif->INB(IDE_LCYL_REG);
397 args[5] = hwif->INB(IDE_HCYL_REG);
398 args[6] = hwif->INB(IDE_SELECT_REG);
407 u16 data = hwif->INW(IDE_DATA_REG);
413 hwif->OUTB(drive->ctl & ~0x80, IDE_CONTROL_REG);
414 args->tfRegister[IDE_NSECTOR_OFFSET] = hwif->INB(IDE_NSECTOR_REG);
415 args->tfRegister[IDE_SECTOR_OFFSET] = hwif->INB(IDE_SECTOR_REG);
416 args->tfRegister[IDE_LCYL_OFFSET] = hwif->INB(IDE_LCYL_REG);
417 args->tfRegister[IDE_HCYL_OFFSET] = hwif->INB(IDE_HCYL_REG);
418 args->tfRegister[IDE_SELECT_OFFSET] = hwif->INB(IDE_SELECT_REG);
422 hwif->OUTB(drive->ctl|0x80, IDE_CONTROL_REG);
423 args->hobRegister[IDE_FEATURE_OFFSET] = hwif->INB(IDE_FEATURE_REG);
424 args->hobRegister[IDE_NSECTOR_OFFSET] = hwif->INB(IDE_NSECTOR_REG);
425 args->hobRegister[IDE_SECTOR_OFFSET] = hwif->INB(IDE_SECTOR_REG);
426 args->hobRegister[IDE_LCYL_OFFSET] = hwif->INB(IDE_LCYL_REG);
427 args->hobRegister[IDE_HCYL_OFFSET] = hwif->INB(IDE_HCYL_REG);
490 ide_hwif_t *hwif = drive->hwif;
500 hwif->INB(IDE_COMMAND_REG) == WIN_SPECIFY)
514 if ((stat & DRQ_STAT) && rq_data_dir(rq) == READ && hwif->err_stops_fifo == 0)
522 if (hwif->INB(IDE_STATUS_REG) & (BUSY_STAT|DRQ_STAT))
540 ide_hwif_t *hwif = drive->hwif;
549 if (hwif->INB(IDE_STATUS_REG) & (BUSY_STAT|DRQ_STAT))
551 hwif->OUTB(WIN_IDLEIMMEDIATE, IDE_COMMAND_REG);
680 ide_hwif_t *hwif = HWIF(drive);
682 hwif->OUTB(drive->ctl,IDE_CONTROL_REG); /* clear nIEN */
684 hwif->OUTB(nsect,IDE_NSECTOR_REG);
701 ide_hwif_t *hwif = HWIF(drive);
703 u8 stat = hwif->INB(IDE_STATUS_REG);
710 hwif->ata_input_data(drive, &args[4], args[3] * SECTOR_WORDS);
712 while (((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) && retries--)
719 ide_end_drive_cmd(drive, stat, hwif->INB(IDE_ERROR_REG));
815 ide_hwif_t *hwif = drive->hwif;
816 struct scatterlist *sg = hwif->sg_table;
818 if (hwif->sg_mapped) /* needed by ide-scsi */
822 hwif->sg_nents = blk_rq_map_sg(drive->queue, rq, sg);
825 hwif->sg_nents = 1;
833 ide_hwif_t *hwif = drive->hwif;
835 hwif->nsect = hwif->nleft = rq->nr_sectors;
836 hwif->cursg = hwif->cursg_ofs = 0;
856 ide_hwif_t *hwif = HWIF(drive);
863 hwif->data_phase = args->data_phase;
865 switch (hwif->data_phase) {
895 hwif->OUTB(args[1], IDE_FEATURE_REG);
896 hwif->OUTB(args[3], IDE_SECTOR_REG);
897 hwif->OUTB(args[4], IDE_LCYL_REG);
898 hwif->OUTB(args[5], IDE_HCYL_REG);
902 hwif->OUTB(sel, IDE_SELECT_REG);
918 hwif->OUTB(0x4f, IDE_LCYL_REG);
919 hwif->OUTB(0xc2, IDE_HCYL_REG);
920 hwif->OUTB(args[2],IDE_FEATURE_REG);
921 hwif->OUTB(args[1],IDE_SECTOR_REG);
925 hwif->OUTB(args[2],IDE_FEATURE_REG);
939 hwif->INB(IDE_STATUS_REG),
940 hwif->INB(IDE_ERROR_REG));
956 * go away (with a looong timeout) as a drive on this hwif may
1141 * exactly one hwif (interface) per hwgroup, but buggy controllers (eg. CMD640)
1174 ide_hwif_t *hwif;
1230 hwif = HWIF(drive);
1231 if (hwgroup->hwif->sharing_irq &&
1232 hwif != hwgroup->hwif &&
1233 hwif->io_ports[IDE_CONTROL_OFFSET]) {
1234 /* set nIEN for previous hwif */
1237 hwgroup->hwif = hwif;
1292 if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq)
1293 disable_irq_nosync(hwif->irq);
1299 if (masked_irq != IDE_NO_IRQ && hwif->irq != masked_irq)
1300 enable_irq(hwif->irq);
1323 ide_hwif_t *hwif = HWIF(drive);
1335 hwif->INB(IDE_STATUS_REG));
1338 (void) hwif->ide_dma_timeout(drive);
1348 hwif->dma_off_quietly(drive);
1416 ide_hwif_t *hwif;
1440 hwif = HWIF(drive);
1442 disable_irq_nosync(hwif->irq);
1445 disable_irq(hwif->irq);
1454 (void) hwgroup->hwif->ide_dma_lostirq(drive);
1455 (void)ide_ack_intr(hwif);
1463 ide_error(drive, "irq timeout", hwif->INB(IDE_STATUS_REG));
1467 enable_irq(hwif->irq);
1504 * Note that we must walk the entire hwgroup here. We know which hwif
1505 * is doing the current command, but we don't know which hwif burped
1512 ide_hwif_t *hwif = hwgroup->hwif;
1518 if (hwif->irq == irq) {
1519 stat = hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]);
1528 hwif->name,
1529 (hwif->next==hwgroup->hwif) ? "" : "(?)", stat, count);
1533 } while ((hwif = hwif->next) != hwgroup->hwif);
1539 * @dev_id: hwif group
1546 * hwgroup->hwif is the interface in the group currently performing
1565 ide_hwif_t *hwif;
1571 hwif = hwgroup->hwif;
1573 if (!ide_ack_intr(hwif)) {
1580 if (hwif->pci_dev && !hwif->pci_dev->vendor)
1594 (void) hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]);
1635 if (hwif->ide_dma_clear_irq && !(drive->waiting_for_dma))
1640 hwif->ide_dma_clear_irq(drive);
1659 ide_do_request(hwgroup, hwif->irq);