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()
267 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_free_msi() local
268 struct device *dev = pci->dev; in dw_pcie_free_msi()
277 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_msi_init() local
284 dw_pcie_writel_dbi(pci, PCIE_MSI_ADDR_LO, lower_32_bits(msi_target)); in dw_pcie_msi_init()
285 dw_pcie_writel_dbi(pci, PCIE_MSI_ADDR_HI, upper_32_bits(msi_target)); in dw_pcie_msi_init()
290 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_host_init() local
291 struct device *dev = pci->dev; in dw_pcie_host_init()
299 raw_spin_lock_init(&pci->pp.lock); in dw_pcie_host_init()
314 if (!pci->dbi_base) { in dw_pcie_host_init()
316 pci->dbi_base = devm_pci_remap_cfg_resource(dev, dbi_res); in dw_pcie_host_init()
317 if (IS_ERR(pci->dbi_base)) in dw_pcie_host_init()
318 return PTR_ERR(pci->dbi_base); in dw_pcie_host_init()
335 if (pci->link_gen < 1) in dw_pcie_host_init()
336 pci->link_gen = of_pci_get_max_link_speed(np); in dw_pcie_host_init()
385 ret = dma_set_mask(pci->dev, DMA_BIT_MASK(32)); in dw_pcie_host_init()
387 …dev_warn(pci->dev, "Failed to set DMA mask to 32-bit. Devices with only 32-bit MSI support may not… in dw_pcie_host_init()
389 pp->msi_data = dma_map_single_attrs(pci->dev, &pp->msi_msg, in dw_pcie_host_init()
393 if (dma_mapping_error(pci->dev, pp->msi_data)) { in dw_pcie_host_init()
394 dev_err(pci->dev, "Failed to map MSI data\n"); in dw_pcie_host_init()
401 dw_pcie_iatu_detect(pci); in dw_pcie_host_init()
405 if (!dw_pcie_link_up(pci) && pci->ops && pci->ops->start_link) { in dw_pcie_host_init()
406 ret = pci->ops->start_link(pci); in dw_pcie_host_init()
412 dw_pcie_wait_for_link(pci); in dw_pcie_host_init()
442 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_other_conf_map_bus() local
452 if (!dw_pcie_link_up(pci)) in dw_pcie_other_conf_map_bus()
464 dw_pcie_prog_outbound_atu(pci, 0, type, pp->cfg0_base, busdev, pp->cfg0_size); in dw_pcie_other_conf_map_bus()
474 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_rd_other_conf() local
478 if (!ret && pci->io_cfg_atu_shared) in dw_pcie_rd_other_conf()
479 dw_pcie_prog_outbound_atu(pci, 0, PCIE_ATU_TYPE_IO, pp->io_base, in dw_pcie_rd_other_conf()
490 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_wr_other_conf() local
494 if (!ret && pci->io_cfg_atu_shared) in dw_pcie_wr_other_conf()
495 dw_pcie_prog_outbound_atu(pci, 0, PCIE_ATU_TYPE_IO, pp->io_base, in dw_pcie_wr_other_conf()
510 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_own_conf_map_bus() local
515 return pci->dbi_base + where; in dw_pcie_own_conf_map_bus()
529 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); in dw_pcie_setup_rc() local
535 dw_pcie_dbi_ro_wr_en(pci); in dw_pcie_setup_rc()
537 dw_pcie_setup(pci); in dw_pcie_setup_rc()
545 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_MASK + in dw_pcie_setup_rc()
548 dw_pcie_writel_dbi(pci, PCIE_MSI_INTR0_ENABLE + in dw_pcie_setup_rc()
557 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0x00000004); in dw_pcie_setup_rc()
558 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_1, 0x00000000); in dw_pcie_setup_rc()
561 val = dw_pcie_readl_dbi(pci, PCI_INTERRUPT_LINE); in dw_pcie_setup_rc()
564 dw_pcie_writel_dbi(pci, PCI_INTERRUPT_LINE, val); in dw_pcie_setup_rc()
567 val = dw_pcie_readl_dbi(pci, PCI_PRIMARY_BUS); in dw_pcie_setup_rc()
570 dw_pcie_writel_dbi(pci, PCI_PRIMARY_BUS, val); in dw_pcie_setup_rc()
573 val = dw_pcie_readl_dbi(pci, PCI_COMMAND); in dw_pcie_setup_rc()
577 dw_pcie_writel_dbi(pci, PCI_COMMAND, val); in dw_pcie_setup_rc()
580 for (i = 0; i < pci->num_ob_windows; i++) in dw_pcie_setup_rc()
581 dw_pcie_disable_atu(pci, i, DW_PCIE_REGION_OUTBOUND); in dw_pcie_setup_rc()
597 if (pci->num_ob_windows <= ++atu_idx) in dw_pcie_setup_rc()
600 dw_pcie_prog_outbound_atu(pci, atu_idx, in dw_pcie_setup_rc()
607 if (pci->num_ob_windows > ++atu_idx) in dw_pcie_setup_rc()
608 dw_pcie_prog_outbound_atu(pci, atu_idx, in dw_pcie_setup_rc()
612 pci->io_cfg_atu_shared = true; in dw_pcie_setup_rc()
615 if (pci->num_ob_windows <= atu_idx) in dw_pcie_setup_rc()
616 dev_warn(pci->dev, "Resources exceed number of ATU entries (%d)", in dw_pcie_setup_rc()
617 pci->num_ob_windows); in dw_pcie_setup_rc()
620 dw_pcie_writel_dbi(pci, PCI_BASE_ADDRESS_0, 0); in dw_pcie_setup_rc()
623 dw_pcie_writew_dbi(pci, PCI_CLASS_DEVICE, PCI_CLASS_BRIDGE_PCI); in dw_pcie_setup_rc()
625 val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); in dw_pcie_setup_rc()
627 dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); in dw_pcie_setup_rc()
629 dw_pcie_dbi_ro_wr_dis(pci); in dw_pcie_setup_rc()