• Home
  • Raw
  • Download

Lines Matching refs:hwif

21 	ide_hwif_t *hwif = drive->hwif;  in config_drive_for_dma()  local
25 if (hwif->host_flags & IDE_HFLAG_NO_ATAPI_DMA) in config_drive_for_dma()
53 u8 ide_dma_sff_read_status(ide_hwif_t *hwif) in ide_dma_sff_read_status() argument
55 unsigned long addr = hwif->dma_base + ATA_DMA_STATUS; in ide_dma_sff_read_status()
57 if (hwif->host_flags & IDE_HFLAG_MMIO) in ide_dma_sff_read_status()
64 static void ide_dma_sff_write_status(ide_hwif_t *hwif, u8 val) in ide_dma_sff_write_status() argument
66 unsigned long addr = hwif->dma_base + ATA_DMA_STATUS; in ide_dma_sff_write_status()
68 if (hwif->host_flags & IDE_HFLAG_MMIO) in ide_dma_sff_write_status()
84 ide_hwif_t *hwif = drive->hwif; in ide_dma_host_set() local
86 u8 dma_stat = hwif->dma_ops->dma_sff_read_status(hwif); in ide_dma_host_set()
93 ide_dma_sff_write_status(hwif, dma_stat); in ide_dma_host_set()
116 ide_hwif_t *hwif = drive->hwif; in ide_build_dmatable() local
117 __le32 *table = (__le32 *)hwif->dmatable_cpu; in ide_build_dmatable()
121 u8 is_trm290 = !!(hwif->host_flags & IDE_HFLAG_TRM290); in ide_build_dmatable()
123 hwif->sg_nents = ide_build_sglist(drive, rq); in ide_build_dmatable()
124 if (hwif->sg_nents == 0) in ide_build_dmatable()
127 for_each_sg(hwif->sg_table, sg, hwif->sg_nents, i) { in ide_build_dmatable()
194 ide_hwif_t *hwif = drive->hwif; in ide_dma_setup() local
195 struct request *rq = hwif->rq; in ide_dma_setup()
197 u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; in ide_dma_setup()
208 writel(hwif->dmatable_dma, in ide_dma_setup()
209 (void __iomem *)(hwif->dma_base + ATA_DMA_TABLE_OFS)); in ide_dma_setup()
211 outl(hwif->dmatable_dma, hwif->dma_base + ATA_DMA_TABLE_OFS); in ide_dma_setup()
215 writeb(reading, (void __iomem *)(hwif->dma_base + ATA_DMA_CMD)); in ide_dma_setup()
217 outb(reading, hwif->dma_base + ATA_DMA_CMD); in ide_dma_setup()
220 dma_stat = hwif->dma_ops->dma_sff_read_status(hwif); in ide_dma_setup()
223 ide_dma_sff_write_status(hwif, dma_stat | ATA_DMA_ERR | ATA_DMA_INTR); in ide_dma_setup()
246 ide_hwif_t *hwif = drive->hwif; in dma_timer_expiry() local
247 u8 dma_stat = hwif->dma_ops->dma_sff_read_status(hwif); in dma_timer_expiry()
255 hwif->expiry = NULL; /* one free ride for now */ in dma_timer_expiry()
279 ide_hwif_t *hwif = drive->hwif; in ide_dma_start() local
287 if (hwif->host_flags & IDE_HFLAG_MMIO) { in ide_dma_start()
288 dma_cmd = readb((void __iomem *)(hwif->dma_base + ATA_DMA_CMD)); in ide_dma_start()
290 (void __iomem *)(hwif->dma_base + ATA_DMA_CMD)); in ide_dma_start()
292 dma_cmd = inb(hwif->dma_base + ATA_DMA_CMD); in ide_dma_start()
293 outb(dma_cmd | ATA_DMA_START, hwif->dma_base + ATA_DMA_CMD); in ide_dma_start()
303 ide_hwif_t *hwif = drive->hwif; in ide_dma_end() local
309 if (hwif->host_flags & IDE_HFLAG_MMIO) { in ide_dma_end()
310 dma_cmd = readb((void __iomem *)(hwif->dma_base + ATA_DMA_CMD)); in ide_dma_end()
312 (void __iomem *)(hwif->dma_base + ATA_DMA_CMD)); in ide_dma_end()
314 dma_cmd = inb(hwif->dma_base + ATA_DMA_CMD); in ide_dma_end()
315 outb(dma_cmd & ~ATA_DMA_START, hwif->dma_base + ATA_DMA_CMD); in ide_dma_end()
319 dma_stat = hwif->dma_ops->dma_sff_read_status(hwif); in ide_dma_end()
322 ide_dma_sff_write_status(hwif, dma_stat | ATA_DMA_ERR | ATA_DMA_INTR); in ide_dma_end()
339 ide_hwif_t *hwif = drive->hwif; in ide_dma_test_irq() local
340 u8 dma_stat = hwif->dma_ops->dma_sff_read_status(hwif); in ide_dma_test_irq()