Searched refs:xgene_msi (Results 1 - 1 of 1) sorted by relevance

/linux-4.4.14/drivers/pci/host/
H A Dpci-xgene-msi.c36 struct xgene_msi *msi;
41 struct xgene_msi { struct
54 static struct xgene_msi xgene_msi_ctrl;
103 static u32 xgene_msi_ir_read(struct xgene_msi *msi, xgene_msi_ir_read()
111 static u32 xgene_msi_int_read(struct xgene_msi *msi, u32 msi_grp) xgene_msi_int_read()
152 struct xgene_msi *msi = irq_data_get_irq_chip_data(data); xgene_compose_msi_msg()
206 struct xgene_msi *msi = domain->host_data; xgene_irq_domain_alloc()
234 struct xgene_msi *msi = irq_data_get_irq_chip_data(d); xgene_irq_domain_free()
252 static int xgene_allocate_domains(struct xgene_msi *msi) xgene_allocate_domains()
271 static void xgene_free_domains(struct xgene_msi *msi) xgene_free_domains()
279 static int xgene_msi_init_allocator(struct xgene_msi *xgene_msi) xgene_msi_init_allocator() argument
283 xgene_msi->bitmap = kzalloc(size, GFP_KERNEL); xgene_msi_init_allocator()
284 if (!xgene_msi->bitmap) xgene_msi_init_allocator()
287 mutex_init(&xgene_msi->bitmap_lock); xgene_msi_init_allocator()
289 xgene_msi->msi_groups = kcalloc(NR_HW_IRQS, xgene_msi_init_allocator()
292 if (!xgene_msi->msi_groups) xgene_msi_init_allocator()
302 struct xgene_msi *xgene_msi; xgene_msi_isr() local
310 xgene_msi = msi_groups->msi; xgene_msi_isr()
318 grp_select = xgene_msi_int_read(xgene_msi, msi_grp); xgene_msi_isr()
326 msir_val = xgene_msi_ir_read(xgene_msi, msi_grp, msir_index); xgene_msi_isr()
342 virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq); xgene_msi_isr()
356 grp_select = xgene_msi_int_read(xgene_msi, msi_grp); xgene_msi_isr()
366 struct xgene_msi *msi = platform_get_drvdata(pdev); xgene_msi_remove()
385 struct xgene_msi *msi = &xgene_msi_ctrl; xgene_msi_hwirq_alloc()
432 struct xgene_msi *msi = &xgene_msi_ctrl; xgene_msi_hwirq_free()
480 struct xgene_msi *xgene_msi; xgene_msi_probe() local
485 xgene_msi = &xgene_msi_ctrl; xgene_msi_probe()
487 platform_set_drvdata(pdev, xgene_msi); xgene_msi_probe()
490 xgene_msi->msi_regs = devm_ioremap_resource(&pdev->dev, res); xgene_msi_probe()
491 if (IS_ERR(xgene_msi->msi_regs)) { xgene_msi_probe()
496 xgene_msi->msi_addr = res->start; xgene_msi_probe()
497 xgene_msi->node = pdev->dev.of_node; xgene_msi_probe()
498 xgene_msi->num_cpus = num_possible_cpus(); xgene_msi_probe()
500 rc = xgene_msi_init_allocator(xgene_msi); xgene_msi_probe()
506 rc = xgene_allocate_domains(xgene_msi); xgene_msi_probe()
520 xgene_msi->msi_groups[irq_index].gic_irq = virt_msir; xgene_msi_probe()
521 xgene_msi->msi_groups[irq_index].msi_grp = irq_index; xgene_msi_probe()
522 xgene_msi->msi_groups[irq_index].msi = xgene_msi; xgene_msi_probe()
532 msi_val = xgene_msi_ir_read(xgene_msi, irq_index, xgene_msi_probe()
535 msi_val = xgene_msi_int_read(xgene_msi, irq_index); xgene_msi_probe()

Completed in 50 milliseconds