Lines Matching refs:ap
110 static void sil_freeze(struct ata_port *ap);
111 static void sil_thaw(struct ata_port *ap);
253 struct ata_port *ap = qc->ap; in sil_bmdma_stop() local
254 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_bmdma_stop()
255 void __iomem *bmdma2 = mmio_base + sil_port[ap->port_no].bmdma2; in sil_bmdma_stop()
261 ata_sff_dma_pause(ap); in sil_bmdma_stop()
266 struct ata_port *ap = qc->ap; in sil_bmdma_setup() local
267 void __iomem *bmdma = ap->ioaddr.bmdma_addr; in sil_bmdma_setup()
270 iowrite32(ap->bmdma_prd_dma, bmdma + ATA_DMA_TABLE_OFS); in sil_bmdma_setup()
273 ap->ops->sff_exec_command(ap, &qc->tf); in sil_bmdma_setup()
279 struct ata_port *ap = qc->ap; in sil_bmdma_start() local
280 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_bmdma_start()
281 void __iomem *bmdma2 = mmio_base + sil_port[ap->port_no].bmdma2; in sil_bmdma_start()
296 struct ata_port *ap = qc->ap; in sil_fill_sg() local
300 prd = &ap->bmdma_prd[0]; in sil_fill_sg()
348 struct ata_port *ap = link->ap; in sil_set_mode() local
349 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_set_mode()
350 void __iomem *addr = mmio_base + sil_port[ap->port_no].xfer_mode; in sil_set_mode()
378 static inline void __iomem *sil_scr_addr(struct ata_port *ap, in sil_scr_addr() argument
381 void __iomem *offset = ap->ioaddr.scr_addr; in sil_scr_addr()
400 void __iomem *mmio = sil_scr_addr(link->ap, sc_reg); in sil_scr_read()
411 void __iomem *mmio = sil_scr_addr(link->ap, sc_reg); in sil_scr_write()
420 static void sil_host_intr(struct ata_port *ap, u32 bmdma2) in sil_host_intr() argument
422 struct ata_eh_info *ehi = &ap->link.eh_info; in sil_host_intr()
423 struct ata_queued_cmd *qc = ata_qc_from_tag(ap, ap->link.active_tag); in sil_host_intr()
433 sil_scr_read(&ap->link, SCR_ERROR, &serror); in sil_host_intr()
434 sil_scr_write(&ap->link, SCR_ERROR, serror); in sil_host_intr()
440 ap->link.eh_info.serror |= serror; in sil_host_intr()
450 ap->ops->sff_check_status(ap); in sil_host_intr()
455 switch (ap->hsm_task_state) { in sil_host_intr()
471 ap->ops->bmdma_stop(qc); in sil_host_intr()
475 ap->hsm_task_state = HSM_ST_ERR; in sil_host_intr()
486 status = ap->ops->sff_check_status(ap); in sil_host_intr()
491 ata_bmdma_irq_clear(ap); in sil_host_intr()
494 ata_sff_hsm_move(ap, qc, status, 0); in sil_host_intr()
504 ata_port_freeze(ap); in sil_host_intr()
517 struct ata_port *ap = host->ports[i]; in sil_interrupt() local
518 u32 bmdma2 = readl(mmio_base + sil_port[ap->port_no].bmdma2); in sil_interrupt()
521 if (ap->flags & SIL_FLAG_NO_SATA_IRQ) in sil_interrupt()
528 sil_host_intr(ap, bmdma2); in sil_interrupt()
537 static void sil_freeze(struct ata_port *ap) in sil_freeze() argument
539 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_freeze()
543 writel(0, mmio_base + sil_port[ap->port_no].sien); in sil_freeze()
547 tmp |= SIL_MASK_IDE0_INT << ap->port_no; in sil_freeze()
556 iowrite8(ioread8(ap->ioaddr.bmdma_addr) & ~SIL_DMA_ENABLE, in sil_freeze()
557 ap->ioaddr.bmdma_addr); in sil_freeze()
562 ioread8(ap->ioaddr.bmdma_addr); in sil_freeze()
565 static void sil_thaw(struct ata_port *ap) in sil_thaw() argument
567 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_thaw()
571 ap->ops->sff_check_status(ap); in sil_thaw()
572 ata_bmdma_irq_clear(ap); in sil_thaw()
575 if (!(ap->flags & SIL_FLAG_NO_SATA_IRQ)) in sil_thaw()
576 writel(SIL_SIEN_N, mmio_base + sil_port[ap->port_no].sien); in sil_thaw()
580 tmp &= ~(SIL_MASK_IDE0_INT << ap->port_no); in sil_thaw()
614 struct ata_port *ap = dev->link->ap; in sil_dev_config() local
615 int print_info = ap->link.eh_context.i.flags & ATA_EHI_PRINTINFO; in sil_dev_config()
632 ((ap->flags & SIL_FLAG_MOD15WRITE) && in sil_dev_config()
769 struct ata_port *ap = host->ports[i]; in sil_init_one() local
770 struct ata_ioports *ioaddr = &ap->ioaddr; in sil_init_one()
779 ata_port_pbar_desc(ap, SIL_MMIO_BAR, -1, "mmio"); in sil_init_one()
780 ata_port_pbar_desc(ap, SIL_MMIO_BAR, sil_port[i].tf, "tf"); in sil_init_one()