Lines Matching refs:cf_port

131 	struct octeon_cf_port *cf_port = ap->private_data;  in octeon_cf_set_piomode()  local
179 octeon_cf_set_boot_reg_cfg(cf_port->cs0, div); in octeon_cf_set_piomode()
180 if (cf_port->is_true_ide) in octeon_cf_set_piomode()
182 octeon_cf_set_boot_reg_cfg(cf_port->cs1, div); in octeon_cf_set_piomode()
187 reg_tim.u64 = cvmx_read_csr(CVMX_MIO_BOOT_REG_TIMX(cf_port->cs0)); in octeon_cf_set_piomode()
216 cvmx_write_csr(CVMX_MIO_BOOT_REG_TIMX(cf_port->cs0), reg_tim.u64); in octeon_cf_set_piomode()
217 if (cf_port->is_true_ide) in octeon_cf_set_piomode()
219 cvmx_write_csr(CVMX_MIO_BOOT_REG_TIMX(cf_port->cs1), in octeon_cf_set_piomode()
225 struct octeon_cf_port *cf_port = ap->private_data; in octeon_cf_set_dmamode() local
261 c = (cf_port->dma_base & 8) >> 3; in octeon_cf_set_dmamode()
291 cvmx_write_csr(cf_port->dma_base + DMA_TIM, dma_tim.u64); in octeon_cf_set_dmamode()
552 struct octeon_cf_port *cf_port; in octeon_cf_dma_setup() local
554 cf_port = ap->private_data; in octeon_cf_dma_setup()
558 cf_port->dma_finished = 0; in octeon_cf_dma_setup()
570 struct octeon_cf_port *cf_port = qc->ap->private_data; in octeon_cf_dma_start() local
586 cvmx_write_csr(cf_port->dma_base + DMA_INT, mio_boot_dma_int.u64); in octeon_cf_dma_start()
589 cvmx_write_csr(cf_port->dma_base + DMA_INT_EN, mio_boot_dma_int.u64); in octeon_cf_dma_start()
621 cvmx_write_csr(cf_port->dma_base + DMA_CFG, mio_boot_dma_cfg.u64); in octeon_cf_dma_start()
634 struct octeon_cf_port *cf_port = ap->private_data; in octeon_cf_dma_finished() local
646 dma_cfg.u64 = cvmx_read_csr(cf_port->dma_base + DMA_CFG); in octeon_cf_dma_finished()
656 cvmx_write_csr(cf_port->dma_base + DMA_CFG, dma_cfg.u64); in octeon_cf_dma_finished()
660 cvmx_write_csr(cf_port->dma_base + DMA_INT_EN, dma_int.u64); in octeon_cf_dma_finished()
664 cvmx_write_csr(cf_port->dma_base + DMA_INT, dma_int.u64); in octeon_cf_dma_finished()
683 struct octeon_cf_port *cf_port; in octeon_cf_interrupt() local
699 cf_port = ap->private_data; in octeon_cf_interrupt()
701 dma_int.u64 = cvmx_read_csr(cf_port->dma_base + DMA_INT); in octeon_cf_interrupt()
702 dma_cfg.u64 = cvmx_read_csr(cf_port->dma_base + DMA_CFG); in octeon_cf_interrupt()
716 cf_port->dma_finished = 1; in octeon_cf_interrupt()
719 if (!cf_port->dma_finished) in octeon_cf_interrupt()
732 cvmx_write_csr(cf_port->dma_base + DMA_INT, in octeon_cf_interrupt()
734 hrtimer_start_range_ns(&cf_port->delayed_finish, in octeon_cf_interrupt()
750 struct octeon_cf_port *cf_port = container_of(hrt, in octeon_cf_delayed_finish() local
753 struct ata_port *ap = cf_port->ap; in octeon_cf_delayed_finish()
767 if (ap->hsm_task_state != HSM_ST_LAST || !cf_port->dma_finished) in octeon_cf_delayed_finish()
860 struct octeon_cf_port *cf_port; in octeon_cf_probe() local
868 cf_port = devm_kzalloc(&pdev->dev, sizeof(*cf_port), GFP_KERNEL); in octeon_cf_probe()
869 if (!cf_port) in octeon_cf_probe()
872 cf_port->is_true_ide = (of_find_property(node, "cavium,true-ide", NULL) != NULL); in octeon_cf_probe()
888 cf_port->cs0 = be32_to_cpup(cs_num); in octeon_cf_probe()
890 if (cf_port->is_true_ide) { in octeon_cf_probe()
905 cf_port->dma_base = (u64)devm_ioremap_nocache(&pdev->dev, res_dma->start, in octeon_cf_probe()
907 if (!cf_port->dma_base) { in octeon_cf_probe()
932 cf_port->cs1 = be32_to_cpup(cs_num); in octeon_cf_probe()
950 ap->private_data = cf_port; in octeon_cf_probe()
951 pdev->dev.platform_data = cf_port; in octeon_cf_probe()
952 cf_port->ap = ap; in octeon_cf_probe()
965 } else if (cf_port->is_true_ide) { in octeon_cf_probe()
985 hrtimer_init(&cf_port->delayed_finish, CLOCK_MONOTONIC, in octeon_cf_probe()
987 cf_port->delayed_finish.function = octeon_cf_delayed_finish; in octeon_cf_probe()
1004 cf_port->c0 = ap->ioaddr.ctl_addr; in octeon_cf_probe()
1014 cf_port->is_true_ide ? ", True IDE" : ""); in octeon_cf_probe()
1025 struct octeon_cf_port *cf_port = dev_get_platdata(dev); in octeon_cf_shutdown() local
1027 if (cf_port->dma_base) { in octeon_cf_shutdown()
1031 cvmx_write_csr(cf_port->dma_base + DMA_CFG, dma_cfg.u64); in octeon_cf_shutdown()
1035 cvmx_write_csr(cf_port->dma_base + DMA_INT_EN, dma_int.u64); in octeon_cf_shutdown()
1039 cvmx_write_csr(cf_port->dma_base + DMA_INT, dma_int.u64); in octeon_cf_shutdown()
1041 __raw_writeb(0, cf_port->c0); in octeon_cf_shutdown()
1043 __raw_writeb(ATA_SRST, cf_port->c0); in octeon_cf_shutdown()
1045 __raw_writeb(0, cf_port->c0); in octeon_cf_shutdown()