Lines Matching refs:pci
62 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_handle_msi_irq() local
67 status = dw_pcie_readl_dbi(pci, PCIE_MSI_INTR0_STATUS + in dw_handle_msi_irq()
104 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pci_setup_msi_msg() local
114 dev_dbg(pci->dev, "msi#%d address_hi %#x address_lo %#x\n", in dw_pci_setup_msi_msg()
127 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pci_bottom_mask() local
138 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_MASK + res, pp->irq_mask[ctrl]); in dw_pci_bottom_mask()
146 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pci_bottom_unmask() local
157 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_MASK + res, pp->irq_mask[ctrl]); in dw_pci_bottom_unmask()
165 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pci_bottom_ack() local
172 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_STATUS + res, BIT(bit)); in dw_pci_bottom_ack()
234 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_allocate_domains() local
235 struct fwnode_handle *fwnode = of_node_to_fwnode(pci->dev->of_node); in dw_pcie_allocate_domains()
240 dev_err(pci->dev, "Failed to create IRQ domain\n"); in dw_pcie_allocate_domains()
250 dev_err(pci->dev, "Failed to create MSI domain\n"); in dw_pcie_allocate_domains()
274 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_msi_init() local
281 dw_pcie_writel_dbi(pci, PCIE_MSI_ADDR_LO, lower_32_bits(msi_target)); in dw_pcie_msi_init()
282 dw_pcie_writel_dbi(pci, PCIE_MSI_ADDR_HI, upper_32_bits(msi_target)); in dw_pcie_msi_init()
287 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_parse_split_msi_irq() local
288 struct device *dev = pci->dev; in dw_pcie_parse_split_msi_irq()
327 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_msi_host_init() local
328 struct device *dev = pci->dev; in dw_pcie_msi_host_init()
387 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_host_init() local
388 struct device *dev = pci->dev; in dw_pcie_host_init()
411 if (!pci->dbi_base) { in dw_pcie_host_init()
413 pci->dbi_base = devm_pci_remap_cfg_resource(dev, res); in dw_pcie_host_init()
414 if (IS_ERR(pci->dbi_base)) in dw_pcie_host_init()
415 return PTR_ERR(pci->dbi_base); in dw_pcie_host_init()
432 if (pci->link_gen < 1) in dw_pcie_host_init()
433 pci->link_gen = of_pci_get_max_link_speed(np); in dw_pcie_host_init()
473 dw_pcie_version_detect(pci); in dw_pcie_host_init()
475 dw_pcie_iatu_detect(pci); in dw_pcie_host_init()
481 if (!dw_pcie_link_up(pci)) { in dw_pcie_host_init()
482 ret = dw_pcie_start_link(pci); in dw_pcie_host_init()
488 dw_pcie_wait_for_link(pci); in dw_pcie_host_init()
499 dw_pcie_stop_link(pci); in dw_pcie_host_init()
515 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_host_deinit() local
520 dw_pcie_stop_link(pci); in dw_pcie_host_deinit()
534 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_other_conf_map_bus() local
546 if (!dw_pcie_link_up(pci)) in dw_pcie_other_conf_map_bus()
557 ret = dw_pcie_prog_outbound_atu(pci, 0, type, pp->cfg0_base, busdev, in dw_pcie_other_conf_map_bus()
569 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_rd_other_conf() local
577 ret = dw_pcie_prog_outbound_atu(pci, 0, PCIE_ATU_TYPE_IO, in dw_pcie_rd_other_conf()
591 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_wr_other_conf() local
599 ret = dw_pcie_prog_outbound_atu(pci, 0, PCIE_ATU_TYPE_IO, in dw_pcie_wr_other_conf()
618 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_own_conf_map_bus() local
623 return pci->dbi_base + where; in dw_pcie_own_conf_map_bus()
635 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_iatu_setup() local
640 if (!pci->num_ob_windows) { in dw_pcie_iatu_setup()
641 dev_err(pci->dev, "No outbound iATU found\n"); in dw_pcie_iatu_setup()
649 for (i = 0; i < pci->num_ob_windows; i++) in dw_pcie_iatu_setup()
650 dw_pcie_disable_atu(pci, PCIE_ATU_REGION_DIR_OB, i); in dw_pcie_iatu_setup()
657 if (pci->num_ob_windows <= ++i) in dw_pcie_iatu_setup()
660 ret = dw_pcie_prog_outbound_atu(pci, i, PCIE_ATU_TYPE_MEM, in dw_pcie_iatu_setup()
665 dev_err(pci->dev, "Failed to set MEM range %pr\n", in dw_pcie_iatu_setup()
672 if (pci->num_ob_windows > ++i) { in dw_pcie_iatu_setup()
673 ret = dw_pcie_prog_outbound_atu(pci, i, PCIE_ATU_TYPE_IO, in dw_pcie_iatu_setup()
678 dev_err(pci->dev, "Failed to set IO range %pr\n", in dw_pcie_iatu_setup()
687 if (pci->num_ob_windows <= i) in dw_pcie_iatu_setup()
688 dev_warn(pci->dev, "Resources exceed number of ATU entries (%d)\n", in dw_pcie_iatu_setup()
689 pci->num_ob_windows); in dw_pcie_iatu_setup()
696 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_setup_rc() local
704 dw_pcie_dbi_ro_wr_en(pci); in dw_pcie_setup_rc()
706 dw_pcie_setup(pci); in dw_pcie_setup_rc()
713 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_MASK + in dw_pcie_setup_rc()
716 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_ENABLE + in dw_pcie_setup_rc()
725 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0x00000004); in dw_pcie_setup_rc()
726 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_1, 0x00000000); in dw_pcie_setup_rc()
729 val = dw_pcie_readl_dbi(pci, PCI_INTERRUPT_LINE); in dw_pcie_setup_rc()
732 dw_pcie_writel_dbi(pci, PCI_INTERRUPT_LINE, val); in dw_pcie_setup_rc()
735 val = dw_pcie_readl_dbi(pci, PCI_PRIMARY_BUS); in dw_pcie_setup_rc()
738 dw_pcie_writel_dbi(pci, PCI_PRIMARY_BUS, val); in dw_pcie_setup_rc()
741 val = dw_pcie_readl_dbi(pci, PCI_COMMAND); in dw_pcie_setup_rc()
745 dw_pcie_writel_dbi(pci, PCI_COMMAND, val); in dw_pcie_setup_rc()
758 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0); in dw_pcie_setup_rc()
761 dw_pcie_writew_dbi(pci, PCI_CLASS_DEVICE, PCI_CLASS_BRIDGE_PCI); in dw_pcie_setup_rc()
763 val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); in dw_pcie_setup_rc()
765 dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in dw_pcie_setup_rc()
767 dw_pcie_dbi_ro_wr_dis(pci); in dw_pcie_setup_rc()