Lines Matching defs:pcie

14 #include "pcie-iproc.h"
73 * @pcie: pointer to iProc PCIe data
94 struct iproc_pcie *pcie;
132 struct iproc_pcie *pcie = msi->pcie;
134 return readl_relaxed(pcie->base + msi->reg_offsets[eq][reg]);
141 struct iproc_pcie *pcie = msi->pcie;
143 writel_relaxed(val, pcie->base + msi->reg_offsets[eq][reg]);
490 struct iproc_pcie *pcie = msi->pcie;
502 dev_err(pcie->dev,
507 dev_err(pcie->dev, "failed to alloc CPU mask\n");
521 int iproc_msi_init(struct iproc_pcie *pcie, struct device_node *node)
533 if (pcie->msi)
536 msi = devm_kzalloc(pcie->dev, sizeof(*msi), GFP_KERNEL);
540 msi->pcie = pcie;
541 pcie->msi = msi;
542 msi->msi_addr = pcie->base_addr;
551 dev_err(pcie->dev, "found no MSI GIC interrupt\n");
556 dev_warn(pcie->dev, "too many MSI GIC interrupts defined %d\n",
562 dev_err(pcie->dev,
569 dev_warn(pcie->dev, "Reducing number of interrupts to %d\n",
573 switch (pcie->type) {
586 dev_err(pcie->dev, "incompatible iProc PCIe interface\n");
590 if (of_find_property(node, "brcm,pcie-msi-inten", NULL))
594 msi->bitmap = devm_kcalloc(pcie->dev, BITS_TO_LONGS(msi->nr_msi_vecs),
599 msi->grps = devm_kcalloc(pcie->dev, msi->nr_irqs, sizeof(*msi->grps),
608 dev_err(pcie->dev, "unable to parse/map interrupt\n");
618 msi->eq_cpu = dma_alloc_coherent(pcie->dev,
628 dev_err(pcie->dev, "failed to create MSI domains\n");
648 dma_free_coherent(pcie->dev, msi->nr_eq_region * EQ_MEM_REGION_SIZE,
656 pcie->msi = NULL;
661 void iproc_msi_exit(struct iproc_pcie *pcie)
663 struct iproc_msi *msi = pcie->msi;
676 dma_free_coherent(pcie->dev, msi->nr_eq_region * EQ_MEM_REGION_SIZE,