Lines Matching refs:apc

107 static int ar71xx_pci_check_error(struct ar71xx_pci_controller *apc, int quiet)
109 void __iomem *base = apc->cfg_base;
144 static inline void ar71xx_pci_local_write(struct ar71xx_pci_controller *apc,
147 void __iomem *base = apc->cfg_base;
163 struct ar71xx_pci_controller *apc = pci_bus_to_ar71xx_controller(bus);
164 void __iomem *base = apc->cfg_base;
173 return ar71xx_pci_check_error(apc, 1);
179 struct ar71xx_pci_controller *apc = pci_bus_to_ar71xx_controller(bus);
180 void __iomem *base = apc->cfg_base;
203 struct ar71xx_pci_controller *apc = pci_bus_to_ar71xx_controller(bus);
204 void __iomem *base = apc->cfg_base;
228 struct ar71xx_pci_controller *apc;
232 apc = irq_desc_get_handler_data(desc);
238 generic_handle_irq(apc->irq_base + 0);
241 generic_handle_irq(apc->irq_base + 1);
244 generic_handle_irq(apc->irq_base + 2);
247 generic_handle_irq(apc->irq_base + 4);
255 struct ar71xx_pci_controller *apc;
260 apc = irq_data_get_irq_chip_data(d);
261 irq = d->irq - apc->irq_base;
272 struct ar71xx_pci_controller *apc;
277 apc = irq_data_get_irq_chip_data(d);
278 irq = d->irq - apc->irq_base;
294 static void ar71xx_pci_irq_init(struct ar71xx_pci_controller *apc)
304 apc->irq_base = ATH79_PCI_IRQ_BASE;
305 for (i = apc->irq_base;
306 i < apc->irq_base + AR71XX_PCI_IRQ_COUNT; i++) {
309 irq_set_chip_data(i, apc);
312 irq_set_chained_handler_and_data(apc->irq, ar71xx_pci_irq_handler,
313 apc);
330 struct ar71xx_pci_controller *apc;
334 apc = devm_kzalloc(&pdev->dev, sizeof(struct ar71xx_pci_controller),
336 if (!apc)
339 apc->cfg_base = devm_platform_ioremap_resource_byname(pdev,
341 if (IS_ERR(apc->cfg_base))
342 return PTR_ERR(apc->cfg_base);
344 apc->irq = platform_get_irq(pdev, 0);
345 if (apc->irq < 0)
352 apc->io_res.parent = res;
353 apc->io_res.name = "PCI IO space";
354 apc->io_res.start = res->start;
355 apc->io_res.end = res->end;
356 apc->io_res.flags = IORESOURCE_IO;
362 apc->mem_res.parent = res;
363 apc->mem_res.name = "PCI memory space";
364 apc->mem_res.start = res->start;
365 apc->mem_res.end = res->end;
366 apc->mem_res.flags = IORESOURCE_MEM;
373 ar71xx_pci_local_write(apc, PCI_COMMAND, 4, t);
376 ar71xx_pci_check_error(apc, 1);
378 ar71xx_pci_irq_init(apc);
380 apc->pci_ctrl.pci_ops = &ar71xx_pci_ops;
381 apc->pci_ctrl.mem_resource = &apc->mem_res;
382 apc->pci_ctrl.io_resource = &apc->io_res;
384 register_pci_controller(&apc->pci_ctrl);