• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/ide/

Lines Matching refs:hwif

128 static void scc_exec_command(ide_hwif_t *hwif, u8 cmd)
130 out_be32((void *)hwif->io_ports.command_addr, cmd);
132 in_be32((void *)(hwif->dma_base + 0x01c));
136 static u8 scc_read_status(ide_hwif_t *hwif)
138 return (u8)in_be32((void *)hwif->io_ports.status_addr);
141 static u8 scc_read_altstatus(ide_hwif_t *hwif)
143 return (u8)in_be32((void *)hwif->io_ports.ctl_addr);
146 static u8 scc_dma_sff_read_status(ide_hwif_t *hwif)
148 return (u8)in_be32((void *)(hwif->dma_base + 4));
151 static void scc_write_devctl(ide_hwif_t *hwif, u8 ctl)
153 out_be32((void *)hwif->io_ports.ctl_addr, ctl);
155 in_be32((void *)(hwif->dma_base + 0x01c));
202 * @hwif: port
209 static void scc_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive)
211 struct scc_ports *ports = ide_get_hwifdata(hwif);
234 * @hwif: port
241 static void scc_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive)
243 struct scc_ports *ports = ide_get_hwifdata(hwif);
284 ide_hwif_t *hwif = drive->hwif;
286 u8 dma_stat = scc_dma_sff_read_status(hwif);
293 scc_ide_outb(dma_stat, hwif->dma_base + 4);
310 ide_hwif_t *hwif = drive->hwif;
319 out_be32((void __iomem *)(hwif->dma_base + 8), hwif->dmatable_dma);
322 out_be32((void __iomem *)hwif->dma_base, rw);
325 dma_stat = scc_dma_sff_read_status(hwif);
328 out_be32((void __iomem *)(hwif->dma_base + 4), dma_stat | 6);
335 ide_hwif_t *hwif = drive->hwif;
336 u8 dma_cmd = scc_ide_inb(hwif->dma_base);
339 scc_ide_outb(dma_cmd | 1, hwif->dma_base);
344 ide_hwif_t *hwif = drive->hwif;
348 dma_cmd = scc_ide_inb(hwif->dma_base);
350 scc_ide_outb(dma_cmd & ~1, hwif->dma_base);
352 dma_stat = scc_dma_sff_read_status(hwif);
354 scc_ide_outb(dma_stat | 6, hwif->dma_base + 4);
369 ide_hwif_t *hwif = drive->hwif;
370 void __iomem *dma_base = (void __iomem *)hwif->dma_base;
371 unsigned long intsts_port = hwif->dma_base + 0x014;
377 if (!(in_be32((void __iomem *)hwif->io_ports.ctl_addr)
386 struct request *rq = hwif->rq;
396 ide_port_for_each_dev(i, drive, hwif)
415 unsigned long ctl_base = hwif->config_data;
478 ide_hwif_t *hwif = drive->hwif;
479 u32 int_stat = in_be32((void __iomem *)hwif->dma_base + 0x014);
481 if ((in_be32((void __iomem *)hwif->io_ports.ctl_addr)
494 ide_hwif_t *hwif = drive->hwif;
495 u8 mask = hwif->ultra_mask;
645 struct ide_io_ports *io_ports = &drive->hwif->io_ports;
663 struct ide_io_ports *io_ports = &drive->hwif->io_ports;
682 unsigned long data_addr = drive->hwif->io_ports.data_addr;
698 unsigned long data_addr = drive->hwif->io_ports.data_addr;
713 * @hwif: interface to set up
717 static void __devinit init_mmio_iops_scc(ide_hwif_t *hwif)
719 struct pci_dev *dev = to_pci_dev(hwif->dev);
723 ide_set_hwifdata(hwif, ports);
725 hwif->dma_base = dma_base;
726 hwif->config_data = ports->ctl;
731 * @hwif: interface to set up
737 static void __devinit init_iops_scc(ide_hwif_t *hwif)
739 struct pci_dev *dev = to_pci_dev(hwif->dev);
741 hwif->hwif_data = NULL;
744 init_mmio_iops_scc(hwif);
747 static int __devinit scc_init_dma(ide_hwif_t *hwif,
750 return ide_allocate_dma_engine(hwif);
753 static u8 scc_cable_detect(ide_hwif_t *hwif)
759 * init_hwif_scc - set up hwif
760 * @hwif: interface to set up
767 static void __devinit init_hwif_scc(ide_hwif_t *hwif)
770 out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma);
772 if (in_be32((void __iomem *)(hwif->config_data + 0xff0)) & CCKCTRL_ATACLKOEN)
773 hwif->ultra_mask = ATA_UDMA6; /* 133MHz */
775 hwif->ultra_mask = ATA_UDMA5; /* 100MHz */