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()
347 struct ata_port *ap = link->ap; in sil_set_mode() local
348 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_set_mode()
349 void __iomem *addr = mmio_base + sil_port[ap->port_no].xfer_mode; in sil_set_mode()
377 static inline void __iomem *sil_scr_addr(struct ata_port *ap, in sil_scr_addr() argument
380 void __iomem *offset = ap->ioaddr.scr_addr; in sil_scr_addr()
399 void __iomem *mmio = sil_scr_addr(link->ap, sc_reg); in sil_scr_read()
410 void __iomem *mmio = sil_scr_addr(link->ap, sc_reg); in sil_scr_write()
419 static void sil_host_intr(struct ata_port *ap, u32 bmdma2) in sil_host_intr() argument
421 struct ata_eh_info *ehi = &ap->link.eh_info; in sil_host_intr()
422 struct ata_queued_cmd *qc = ata_qc_from_tag(ap, ap->link.active_tag); in sil_host_intr()
432 sil_scr_read(&ap->link, SCR_ERROR, &serror); in sil_host_intr()
433 sil_scr_write(&ap->link, SCR_ERROR, serror); in sil_host_intr()
439 ap->link.eh_info.serror |= serror; in sil_host_intr()
449 ap->ops->sff_check_status(ap); in sil_host_intr()
454 switch (ap->hsm_task_state) { in sil_host_intr()
470 ap->ops->bmdma_stop(qc); in sil_host_intr()
474 ap->hsm_task_state = HSM_ST_ERR; in sil_host_intr()
485 status = ap->ops->sff_check_status(ap); in sil_host_intr()
490 ata_bmdma_irq_clear(ap); in sil_host_intr()
493 ata_sff_hsm_move(ap, qc, status, 0); in sil_host_intr()
503 ata_port_freeze(ap); in sil_host_intr()
516 struct ata_port *ap = host->ports[i]; in sil_interrupt() local
517 u32 bmdma2 = readl(mmio_base + sil_port[ap->port_no].bmdma2); in sil_interrupt()
520 if (ap->flags & SIL_FLAG_NO_SATA_IRQ) in sil_interrupt()
527 sil_host_intr(ap, bmdma2); in sil_interrupt()
536 static void sil_freeze(struct ata_port *ap) in sil_freeze() argument
538 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_freeze()
542 writel(0, mmio_base + sil_port[ap->port_no].sien); in sil_freeze()
546 tmp |= SIL_MASK_IDE0_INT << ap->port_no; in sil_freeze()
555 iowrite8(ioread8(ap->ioaddr.bmdma_addr) & ~SIL_DMA_ENABLE, in sil_freeze()
556 ap->ioaddr.bmdma_addr); in sil_freeze()
561 ioread8(ap->ioaddr.bmdma_addr); in sil_freeze()
564 static void sil_thaw(struct ata_port *ap) in sil_thaw() argument
566 void __iomem *mmio_base = ap->host->iomap[SIL_MMIO_BAR]; in sil_thaw()
570 ap->ops->sff_check_status(ap); in sil_thaw()
571 ata_bmdma_irq_clear(ap); in sil_thaw()
574 if (!(ap->flags & SIL_FLAG_NO_SATA_IRQ)) in sil_thaw()
575 writel(SIL_SIEN_N, mmio_base + sil_port[ap->port_no].sien); in sil_thaw()
579 tmp &= ~(SIL_MASK_IDE0_INT << ap->port_no); in sil_thaw()
613 struct ata_port *ap = dev->link->ap; in sil_dev_config() local
614 int print_info = ap->link.eh_context.i.flags & ATA_EHI_PRINTINFO; in sil_dev_config()
631 ((ap->flags & SIL_FLAG_MOD15WRITE) && in sil_dev_config()
768 struct ata_port *ap = host->ports[i]; in sil_init_one() local
769 struct ata_ioports *ioaddr = &ap->ioaddr; in sil_init_one()
778 ata_port_pbar_desc(ap, SIL_MMIO_BAR, -1, "mmio"); in sil_init_one()
779 ata_port_pbar_desc(ap, SIL_MMIO_BAR, sil_port[i].tf, "tf"); in sil_init_one()