Lines Matching refs:pcie

14 #include "pcie-cadence.h"
20 static u8 cdns_pcie_get_fn_from_vfn(struct cdns_pcie *pcie, u8 fn, u8 vfn)
28 first_vf_offset = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_SRIOV_VF_OFFSET);
29 stride = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_SRIOV_VF_STRIDE);
40 struct cdns_pcie *pcie = &ep->pcie;
48 cdns_pcie_ep_fn_writew(pcie, fn, reg, hdr->deviceid);
52 cdns_pcie_ep_fn_writew(pcie, fn, PCI_DEVICE_ID, hdr->deviceid);
53 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_REVISION_ID, hdr->revid);
54 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_CLASS_PROG, hdr->progif_code);
55 cdns_pcie_ep_fn_writew(pcie, fn, PCI_CLASS_DEVICE,
57 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_CACHE_LINE_SIZE,
59 cdns_pcie_ep_fn_writew(pcie, fn, PCI_SUBSYSTEM_ID, hdr->subsys_id);
60 cdns_pcie_ep_fn_writeb(pcie, fn, PCI_INTERRUPT_PIN, hdr->interrupt_pin);
71 cdns_pcie_writel(pcie, CDNS_PCIE_LM_ID, id);
82 struct cdns_pcie *pcie = &ep->pcie;
127 cfg = cdns_pcie_readl(pcie, reg);
132 cdns_pcie_writel(pcie, reg, cfg);
135 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
136 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_EP_FUNC_BAR_ADDR0(fn, bar),
138 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_EP_FUNC_BAR_ADDR1(fn, bar),
153 struct cdns_pcie *pcie = &ep->pcie;
165 cfg = cdns_pcie_readl(pcie, reg);
169 cdns_pcie_writel(pcie, reg, cfg);
172 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
173 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_EP_FUNC_BAR_ADDR0(fn, bar), 0);
174 cdns_pcie_writel(pcie, CDNS_PCIE_AT_IB_EP_FUNC_BAR_ADDR1(fn, bar), 0);
185 struct cdns_pcie *pcie = &ep->pcie;
194 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
195 cdns_pcie_set_outbound_region(pcie, 0, fn, r, false, addr, pci_addr, size);
207 struct cdns_pcie *pcie = &ep->pcie;
217 cdns_pcie_reset_outbound_region(pcie, r);
226 struct cdns_pcie *pcie = &ep->pcie;
230 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
236 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_FLAGS);
240 cdns_pcie_ep_fn_writew(pcie, fn, cap + PCI_MSI_FLAGS, flags);
248 struct cdns_pcie *pcie = &ep->pcie;
252 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
255 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_FLAGS);
271 struct cdns_pcie *pcie = &ep->pcie;
275 func_no = cdns_pcie_get_fn_from_vfn(pcie, func_no, vfunc_no);
278 val = cdns_pcie_ep_fn_readw(pcie, func_no, reg);
292 struct cdns_pcie *pcie = &ep->pcie;
296 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
299 val = cdns_pcie_ep_fn_readw(pcie, fn, reg);
302 cdns_pcie_ep_fn_writew(pcie, fn, reg, val);
307 cdns_pcie_ep_fn_writel(pcie, fn, reg, val);
312 cdns_pcie_ep_fn_writel(pcie, fn, reg, val);
320 struct cdns_pcie *pcie = &ep->pcie;
332 cdns_pcie_set_outbound_region_for_normal_msg(pcie, 0, fn, 0,
347 status = cdns_pcie_ep_fn_readw(pcie, fn, PCI_STATUS);
350 cdns_pcie_ep_fn_writew(pcie, fn, PCI_STATUS, status);
365 cmd = cdns_pcie_ep_fn_readw(&ep->pcie, fn, PCI_COMMAND);
381 struct cdns_pcie *pcie = &ep->pcie;
387 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
390 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_FLAGS);
402 data = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_DATA_64);
406 pci_addr = cdns_pcie_ep_fn_readl(pcie, fn, cap + PCI_MSI_ADDRESS_HI);
408 pci_addr |= cdns_pcie_ep_fn_readl(pcie, fn, cap + PCI_MSI_ADDRESS_LO);
415 cdns_pcie_set_outbound_region(pcie, 0, fn, 0,
435 struct cdns_pcie *pcie = &ep->pcie;
442 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
445 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_FLAGS);
457 data = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSI_DATA_64);
461 pci_addr = cdns_pcie_ep_fn_readl(pcie, fn, cap + PCI_MSI_ADDRESS_HI);
463 pci_addr |= cdns_pcie_ep_fn_readl(pcie, fn, cap + PCI_MSI_ADDRESS_LO);
486 struct cdns_pcie *pcie = &ep->pcie;
498 fn = cdns_pcie_get_fn_from_vfn(pcie, fn, vfn);
501 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSIX_FLAGS);
506 tbl_offset = cdns_pcie_ep_fn_readl(pcie, fn, reg);
518 cdns_pcie_set_outbound_region(pcie, 0, fn, 0,
535 struct cdns_pcie *pcie = &ep->pcie;
536 struct device *dev = pcie->dev;
562 struct cdns_pcie *pcie = &ep->pcie;
563 struct device *dev = pcie->dev;
572 cdns_pcie_writel(pcie, CDNS_PCIE_LM_EP_FUNC_CFG, epc->function_num_map);
581 value = cdns_pcie_readl(pcie, reg);
583 cdns_pcie_writel(pcie, reg, value);
590 value = cdns_pcie_ep_fn_readl(pcie, epf,
594 cdns_pcie_ep_fn_writel(pcie, epf,
600 ret = cdns_pcie_start_link(pcie);
651 struct device *dev = ep->pcie.dev;
654 struct cdns_pcie *pcie = &ep->pcie;
661 pcie->is_rc = false;
663 pcie->reg_base = devm_platform_ioremap_resource_byname(pdev, "reg");
664 if (IS_ERR(pcie->reg_base)) {
666 return PTR_ERR(pcie->reg_base);
674 pcie->mem_res = res;
686 cdns_pcie_writel(pcie, CDNS_PCIE_LM_EP_FUNC_CFG, BIT(0));
723 ret = pci_epc_mem_init(epc, pcie->mem_res->start,
724 resource_size(pcie->mem_res), PAGE_SIZE);
742 cdns_pcie_detect_quiet_min_delay_set(&ep->pcie);