Lines Matching full:pci

116 	struct dw_pcie			pci;  member
221 rockchip->pci.dbi_base = devm_ioremap_resource(dev, dbi_base); in rockchip_pcie_resource_get()
222 if (IS_ERR(rockchip->pci.dbi_base)) in rockchip_pcie_resource_get()
223 return PTR_ERR(rockchip->pci.dbi_base); in rockchip_pcie_resource_get()
224 rockchip->pci.atu_base = rockchip->pci.dbi_base + DEFAULT_DBI_ATU_OFFSET; in rockchip_pcie_resource_get()
327 static int rockchip_pcie_link_up(struct dw_pcie *pci) in rockchip_pcie_link_up() argument
329 struct rockchip_pcie *rockchip = to_rockchip_pcie(pci); in rockchip_pcie_link_up()
338 static int rockchip_pcie_start_link(struct dw_pcie *pci) in rockchip_pcie_start_link() argument
340 struct rockchip_pcie *rockchip = to_rockchip_pcie(pci); in rockchip_pcie_start_link()
355 struct device *dev = rockchip->pci.dev; in rockchip_pcie_phy_init()
380 struct device *dev = rockchip->pci.dev; in rockchip_pcie_reset_control_release()
396 struct device *dev = rockchip->pci.dev; in rockchip_pcie_clk_init()
423 header = dw_pcie_readl_dbi(&rockchip->pci, pos); in rockchip_pci_find_resbar_capability()
440 header = dw_pcie_readl_dbi(&rockchip->pci, pos); in rockchip_pci_find_resbar_capability()
458 dw_pcie_writel_dbi(&rockchip->pci, reg + PCIE_TYPE0_HDR_DBI2_OFFSET + 4, 0); in rockchip_pcie_ep_set_bar_flag()
460 dw_pcie_writel_dbi(&rockchip->pci, reg, flags); in rockchip_pcie_ep_set_bar_flag()
462 dw_pcie_writel_dbi(&rockchip->pci, reg + 4, 0); in rockchip_pcie_ep_set_bar_flag()
469 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_resize_bar() local
470 struct device *dev = pci->dev; in rockchip_pcie_resize_bar()
480 val = dw_pcie_readl_dbi(pci, PCIE_PORT_LINK_CONTROL); in rockchip_pcie_resize_bar()
500 dw_pcie_writel_dbi(pci, PCIE_PORT_LINK_CONTROL, val); in rockchip_pcie_resize_bar()
503 val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); in rockchip_pcie_resize_bar()
522 dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in rockchip_pcie_resize_bar()
525 dw_pcie_writel_dbi(pci, PCIE_TYPE0_STATUS_COMMAND_REG, 0x6); in rockchip_pcie_resize_bar()
531 dw_pcie_writel_dbi(pci, resbar_base + 0x4 + bar * 0x8, 0xfffff0); in rockchip_pcie_resize_bar()
532 dw_pcie_writel_dbi(pci, resbar_base + 0x8 + bar * 0x8, 0x2c0); in rockchip_pcie_resize_bar()
536 dw_pcie_writel_dbi(pci, resbar_base + 0x4 + bar * 0x8, 0xfffff0); in rockchip_pcie_resize_bar()
537 dw_pcie_writel_dbi(pci, resbar_base + 0x8 + bar * 0x8, 0x6c0); in rockchip_pcie_resize_bar()
542 dw_pcie_writel_dbi(pci, resbar_base + 0x4 + bar * 0x8, 0xfffff0); in rockchip_pcie_resize_bar()
543 dw_pcie_writel_dbi(pci, resbar_base + 0x8 + bar * 0x8, 0xc0); in rockchip_pcie_resize_bar()
548 dw_pcie_writel_dbi(pci, PCIE_TYPE0_HDR_DBI2_OFFSET + 0x10 + bar * 4, 0); in rockchip_pcie_resize_bar()
550 dw_pcie_writel_dbi(pci, PCIE_TYPE0_HDR_DBI2_OFFSET + 0x10 + bar * 4, 0); in rockchip_pcie_resize_bar()
555 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_init_id() local
557 dw_pcie_writew_dbi(pci, PCI_DEVICE_ID, 0x356a); in rockchip_pcie_init_id()
558 dw_pcie_writew_dbi(pci, PCI_CLASS_DEVICE, 0x0580); in rockchip_pcie_init_id()
566 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_ep_set_bar() local
572 dev_err(pci->dev, "No free inbound window\n"); in rockchip_pcie_ep_set_bar()
578 ret = dw_pcie_prog_inbound_atu(pci, 0, free_win, bar, cpu_addr, as_type); in rockchip_pcie_ep_set_bar()
580 dev_err(pci->dev, "Failed to program IB window\n"); in rockchip_pcie_ep_set_bar()
601 static u8 rockchip_pcie_iatu_unroll_enabled(struct dw_pcie *pci) in rockchip_pcie_iatu_unroll_enabled() argument
605 val = dw_pcie_readl_dbi(pci, PCIE_ATU_VIEWPORT); in rockchip_pcie_iatu_unroll_enabled()
616 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_local_elbi_enable() local
621 dw_pcie_writel_dbi(pci, elbi_reg, 0xffff0000); in rockchip_pcie_local_elbi_enable()
629 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_elbi_clear() local
634 val = dw_pcie_readl_dbi(pci, elbi_reg); in rockchip_pcie_elbi_clear()
636 dw_pcie_writel_dbi(pci, elbi_reg, val); in rockchip_pcie_elbi_clear()
648 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_sys_irq_handler() local
657 elbi_reg = dw_pcie_readl_dbi(pci, PCIE_ELBI_LOCAL_BASE + PCIE_ELBI_APP_ELBI_INT_GEN0); in rockchip_pcie_sys_irq_handler()
666 mask = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_MASK); in rockchip_pcie_sys_irq_handler()
667 wr_status.asdword = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_STATUS) & (~mask); in rockchip_pcie_sys_irq_handler()
668 mask = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_MASK); in rockchip_pcie_sys_irq_handler()
669 rd_status.asdword = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_STATUS) & (~mask); in rockchip_pcie_sys_irq_handler()
674 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_sys_irq_handler()
681 dev_err(pci->dev, "%s, abort\n", __func__); in rockchip_pcie_sys_irq_handler()
683 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_sys_irq_handler()
691 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_sys_irq_handler()
698 dev_err(pci->dev, "%s, abort\n", __func__); in rockchip_pcie_sys_irq_handler()
700 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_sys_irq_handler()
719 dev_dbg(rockchip->pci.dev, "SIGIO\n"); in rockchip_pcie_sys_irq_handler()
737 struct device *dev = rockchip->pci.dev; in rockchip_pcie_request_sys_irq()
757 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_udma_enabled() local
759 return dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_CTRL_OFF); in rockchip_pcie_udma_enabled()
764 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_init_dma_trx() local
769 rockchip->dma_obj = pcie_dw_dmatest_register(pci->dev, true); in rockchip_pcie_init_dma_trx()
771 dev_err(rockchip->pci.dev, "failed to prepare dmatest\n"); in rockchip_pcie_init_dma_trx()
779 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_MASK, 0x0); in rockchip_pcie_init_dma_trx()
781 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_MASK, 0x0); in rockchip_pcie_init_dma_trx()
789 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_start_dma_rd() local
791 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_ENB, in rockchip_pcie_start_dma_rd()
793 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_CTRL_LO, in rockchip_pcie_start_dma_rd()
795 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_CTRL_HI, in rockchip_pcie_start_dma_rd()
797 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_XFERSIZE, in rockchip_pcie_start_dma_rd()
799 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_SAR_PTR_LO, in rockchip_pcie_start_dma_rd()
801 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_SAR_PTR_HI, in rockchip_pcie_start_dma_rd()
803 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_DAR_PTR_LO, in rockchip_pcie_start_dma_rd()
805 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_RD_DAR_PTR_HI, in rockchip_pcie_start_dma_rd()
807 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_DOORBELL, in rockchip_pcie_start_dma_rd()
814 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_start_dma_wr() local
816 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_ENB, in rockchip_pcie_start_dma_wr()
818 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_CTRL_LO, in rockchip_pcie_start_dma_wr()
820 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_CTRL_HI, in rockchip_pcie_start_dma_wr()
822 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_XFERSIZE, in rockchip_pcie_start_dma_wr()
824 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_SAR_PTR_LO, in rockchip_pcie_start_dma_wr()
826 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_SAR_PTR_HI, in rockchip_pcie_start_dma_wr()
828 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_DAR_PTR_LO, in rockchip_pcie_start_dma_wr()
830 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_DAR_PTR_HI, in rockchip_pcie_start_dma_wr()
832 dw_pcie_writel_dbi(pci, ctr_off + PCIE_DMA_WR_WEILO, in rockchip_pcie_start_dma_wr()
834 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_DOORBELL, in rockchip_pcie_start_dma_wr()
885 dev_err(rockchip->pci.dev, "wait for detect quiet failed!\n"); in rockchip_pcie_hot_rst_work()
895 struct dw_pcie *pci = &rockchip->pci; in rockchip_pcie_get_dma_status() local
900 dev_dbg(pci->dev, "%s %x %x\n", __func__, in rockchip_pcie_get_dma_status()
901 dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_STATUS), in rockchip_pcie_get_dma_status()
902 dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_STATUS)); in rockchip_pcie_get_dma_status()
905 status.asdword = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_STATUS); in rockchip_pcie_get_dma_status()
908 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_get_dma_status()
914 dev_err(pci->dev, "%s, write abort\n", __func__); in rockchip_pcie_get_dma_status()
916 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_get_dma_status()
921 status.asdword = dw_pcie_readl_dbi(pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_STATUS); in rockchip_pcie_get_dma_status()
925 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_get_dma_status()
931 dev_err(pci->dev, "%s, read abort %x\n", __func__, status.asdword); in rockchip_pcie_get_dma_status()
933 dw_pcie_writel_dbi(pci, PCIE_DMA_OFFSET + in rockchip_pcie_get_dma_status()
982 msg.elbi_app_user[i - 4] = dw_pcie_readl_dbi(&rockchip->pci, in pcie_ep_ioctl()
985 msg.elbi_app_user[i - 5] = dw_pcie_readl_dbi(&rockchip->pci, in pcie_ep_ioctl()
990 dev_err(rockchip->pci.dev, "failed to get elbi data\n"); in pcie_ep_ioctl()
997 dev_err(rockchip->pci.dev, "failed to get copy from\n"); in pcie_ep_ioctl()
1000 dma_sync_single_for_cpu(rockchip->pci.dev, cfg.addr, cfg.size, DMA_FROM_DEVICE); in pcie_ep_ioctl()
1005 dev_err(rockchip->pci.dev, "failed to get copy from\n"); in pcie_ep_ioctl()
1008 dma_sync_single_for_device(rockchip->pci.dev, cfg.addr, cfg.size, DMA_TO_DEVICE); in pcie_ep_ioctl()
1011 dw_pcie_writel_dbi(&rockchip->pci, PCIE_DMA_OFFSET + PCIE_DMA_WR_INT_MASK, in pcie_ep_ioctl()
1013 dw_pcie_writel_dbi(&rockchip->pci, PCIE_DMA_OFFSET + PCIE_DMA_RD_INT_MASK, in pcie_ep_ioctl()
1025 dev_err(rockchip->pci.dev, "failed to get elbi data\n"); in pcie_ep_ioctl()
1032 dev_err(rockchip->pci.dev, "failed to get copy from\n"); in pcie_ep_ioctl()
1037 dev_err(rockchip->pci.dev, "mmap index %d is out of number\n", mmap_res); in pcie_ep_ioctl()
1059 dev_warn(rockchip->pci.dev, "dbi mmap size is out of limitation\n"); in pcie_ep_mmap()
1066 dev_warn(rockchip->pci.dev, "bar0 mmap size is out of limitation\n"); in pcie_ep_mmap()
1073 dev_warn(rockchip->pci.dev, "bar2 mmap size is out of limitation\n"); in pcie_ep_mmap()
1079 dev_err(rockchip->pci.dev, "cur mmap_res %d is unsurreport\n", rockchip->cur_mmap_res); in pcie_ep_mmap()
1114 pcie_dev = devm_kzalloc(rockchip->pci.dev, sizeof(struct rockchip_pcie_misc_dev), in rockchip_pcie_add_misc()
1122 pcie_dev->dev.parent = rockchip->pci.dev; in rockchip_pcie_add_misc()
1126 dev_err(rockchip->pci.dev, "pcie: failed to register misc device.\n"); in rockchip_pcie_add_misc()
1132 dev_info(rockchip->pci.dev, "register misc device pcie_ep\n"); in rockchip_pcie_add_misc()
1151 rockchip->pci.dev = dev; in rockchip_pcie_ep_probe()
1152 rockchip->pci.ops = &dw_pcie_ops; in rockchip_pcie_ep_probe()
1178 if (dw_pcie_link_up(&rockchip->pci)) { in rockchip_pcie_ep_probe()
1193 dw_pcie_setup(&rockchip->pci); in rockchip_pcie_ep_probe()
1195 dw_pcie_dbi_ro_wr_en(&rockchip->pci); in rockchip_pcie_ep_probe()
1198 dw_pcie_dbi_ro_wr_dis(&rockchip->pci); in rockchip_pcie_ep_probe()
1202 rockchip_pcie_start_link(&rockchip->pci); in rockchip_pcie_ep_probe()
1226 if (dw_pcie_link_up(&rockchip->pci)) { in rockchip_pcie_ep_probe()
1252 rockchip->pci.iatu_unroll_enabled = rockchip_pcie_iatu_unroll_enabled(&rockchip->pci); in rockchip_pcie_ep_probe()