• 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

108 static int sgiioc4_checkirq(ide_hwif_t *hwif)
110 unsigned long intr_addr = hwif->io_ports.irq_addr + IOC4_INTR_REG * 4;
123 ide_hwif_t *hwif = drive->hwif;
124 struct ide_io_ports *io_ports = &hwif->io_ports;
137 u8 stat = sgiioc4_read_status(hwif);
140 stat = sgiioc4_read_status(hwif);
143 stat = sgiioc4_read_status(hwif);
147 struct pci_dev *dev = to_pci_dev(hwif->dev);
179 ide_hwif_t *hwif = drive->hwif;
180 unsigned long ioc4_dma_addr = hwif->dma_base + IOC4_DMA_CTRL * 4;
187 static u32 sgiioc4_ide_dma_stop(ide_hwif_t *hwif, u64 dma_base)
206 ide_hwif_t *hwif = drive->hwif;
207 unsigned long dma_base = hwif->dma_base;
209 unsigned long *ending_dma = ide_get_hwifdata(hwif);
213 ioc4_dma = sgiioc4_ide_dma_stop(hwif, dma_base);
258 static void sgiioc4_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive)
265 return sgiioc4_checkirq(drive->hwif);
276 struct ide_cmd *cmd = &drive->hwif->cmd;
290 static u8 sgiioc4_read_status(ide_hwif_t *hwif)
292 unsigned long port = hwif->io_ports.status_addr;
310 static int __devinit ide_dma_sgiioc4(ide_hwif_t *hwif,
313 struct pci_dev *dev = to_pci_dev(hwif->dev);
318 printk(KERN_INFO " %s: MMIO-DMA\n", hwif->name);
320 if (request_mem_region(dma_base, num_ports, hwif->name) == NULL) {
322 "already in use\n", __func__, hwif->name,
327 hwif->dma_base = (unsigned long)hwif->io_ports.irq_addr +
330 hwif->sg_max_nents = IOC4_PRD_ENTRIES;
332 hwif->prd_max_nents = IOC4_PRD_ENTRIES;
333 hwif->prd_ent_size = IOC4_PRD_BYTES;
335 if (ide_allocate_dma_engine(hwif))
339 (dma_addr_t *)&hwif->extra_base);
341 ide_set_hwifdata(hwif, pad);
345 ide_release_dma_engine(hwif);
348 __func__, hwif->name);
349 printk(KERN_INFO "%s: changing from DMA to PIO mode", hwif->name);
361 ide_hwif_t *hwif = drive->hwif;
362 unsigned long dma_base = hwif->dma_base;
372 ioc4_dma = sgiioc4_ide_dma_stop(hwif, dma_base);
385 ioc4_dma = sgiioc4_ide_dma_stop(hwif, dma_base);
393 dma_addr = cpu_to_le32(hwif->dmatable_dma);
397 memset(ide_get_hwifdata(hwif), 0, IOC4_IDE_CACHELINE_SIZE);
398 ending_dma_addr = cpu_to_le32(hwif->extra_base);
417 ide_hwif_t *hwif = drive->hwif;
418 unsigned int *table = hwif->dmatable_cpu;
420 struct scatterlist *sg = hwif->sg_table;