Lines Matching defs:pcie

28 	struct tango_pcie *pcie = irq_desc_get_handler_data(desc);
32 spin_lock(&pcie->used_msi_lock);
34 while ((pos = find_next_bit(pcie->used_msi, MSI_MAX, pos)) < MSI_MAX) {
36 status = readl_relaxed(pcie->base + SMP8759_STATUS + base / 8);
38 virq = irq_find_mapping(pcie->dom, base + idx);
44 spin_unlock(&pcie->used_msi_lock);
50 struct tango_pcie *pcie = d->chip_data;
54 writel_relaxed(bit, pcie->base + SMP8759_STATUS + offset);
60 struct tango_pcie *pcie = d->chip_data;
65 spin_lock_irqsave(&pcie->used_msi_lock, flags);
66 val = readl_relaxed(pcie->base + SMP8759_ENABLE + offset);
68 writel_relaxed(val, pcie->base + SMP8759_ENABLE + offset);
69 spin_unlock_irqrestore(&pcie->used_msi_lock, flags);
90 struct tango_pcie *pcie = d->chip_data;
91 msg->address_lo = lower_32_bits(pcie->msi_doorbell);
92 msg->address_hi = upper_32_bits(pcie->msi_doorbell);
138 struct tango_pcie *pcie = dom->host_data;
142 spin_lock_irqsave(&pcie->used_msi_lock, flags);
143 pos = find_first_zero_bit(pcie->used_msi, MSI_MAX);
145 spin_unlock_irqrestore(&pcie->used_msi_lock, flags);
148 __set_bit(pos, pcie->used_msi);
149 spin_unlock_irqrestore(&pcie->used_msi_lock, flags);
151 pcie, handle_edge_irq, NULL, NULL);
161 struct tango_pcie *pcie = d->chip_data;
163 spin_lock_irqsave(&pcie->used_msi_lock, flags);
164 __clear_bit(d->hwirq, pcie->used_msi);
165 spin_unlock_irqrestore(&pcie->used_msi_lock, flags);
177 struct tango_pcie *pcie = dev_get_drvdata(cfg->parent);
189 writel_relaxed(1, pcie->base + SMP8759_MUX);
191 writel_relaxed(0, pcie->base + SMP8759_MUX);
200 struct tango_pcie *pcie = dev_get_drvdata(cfg->parent);
203 writel_relaxed(1, pcie->base + SMP8759_MUX);
205 writel_relaxed(0, pcie->base + SMP8759_MUX);
219 static int tango_pcie_link_up(struct tango_pcie *pcie)
221 void __iomem *test_out = pcie->base + SMP8759_TEST_OUT;
238 struct tango_pcie *pcie;
249 pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
250 if (!pcie)
254 pcie->base = devm_ioremap_resource(dev, res);
255 if (IS_ERR(pcie->base))
256 return PTR_ERR(pcie->base);
258 platform_set_drvdata(pdev, pcie);
260 if (!tango_pcie_link_up(pcie))
270 pcie->msi_doorbell = range.pci_addr + res->start + SMP8759_DOORBELL;
273 writel_relaxed(0, pcie->base + SMP8759_ENABLE + offset);
279 irq_dom = irq_domain_create_linear(fwnode, MSI_MAX, &dom_ops, pcie);
292 pcie->dom = irq_dom;
293 spin_lock_init(&pcie->used_msi_lock);
294 irq_set_chained_handler_and_data(virq, tango_msi_isr, pcie);
301 .compatible = "sigma,smp8759-pcie",