Lines Matching defs:xgene_msi

27 	struct xgene_msi	*msi;
32 struct xgene_msi {
45 static struct xgene_msi xgene_msi_ctrl;
94 static u32 xgene_msi_ir_read(struct xgene_msi *msi,
102 static u32 xgene_msi_int_read(struct xgene_msi *msi, u32 msi_grp)
143 struct xgene_msi *msi = irq_data_get_irq_chip_data(data);
197 struct xgene_msi *msi = domain->host_data;
225 struct xgene_msi *msi = irq_data_get_irq_chip_data(d);
243 static int xgene_allocate_domains(struct xgene_msi *msi)
262 static void xgene_free_domains(struct xgene_msi *msi)
270 static int xgene_msi_init_allocator(struct xgene_msi *xgene_msi)
274 xgene_msi->bitmap = kzalloc(size, GFP_KERNEL);
275 if (!xgene_msi->bitmap)
278 mutex_init(&xgene_msi->bitmap_lock);
280 xgene_msi->msi_groups = kcalloc(NR_HW_IRQS,
283 if (!xgene_msi->msi_groups)
293 struct xgene_msi *xgene_msi;
301 xgene_msi = msi_groups->msi;
309 grp_select = xgene_msi_int_read(xgene_msi, msi_grp);
317 msir_val = xgene_msi_ir_read(xgene_msi, msi_grp, msir_index);
333 virq = irq_find_mapping(xgene_msi->inner_domain, hw_irq);
347 grp_select = xgene_msi_int_read(xgene_msi, msi_grp);
358 struct xgene_msi *msi = platform_get_drvdata(pdev);
376 struct xgene_msi *msi = &xgene_msi_ctrl;
419 struct xgene_msi *msi = &xgene_msi_ctrl;
443 struct xgene_msi *xgene_msi;
447 xgene_msi = &xgene_msi_ctrl;
449 platform_set_drvdata(pdev, xgene_msi);
452 xgene_msi->msi_regs = devm_ioremap_resource(&pdev->dev, res);
453 if (IS_ERR(xgene_msi->msi_regs)) {
455 rc = PTR_ERR(xgene_msi->msi_regs);
458 xgene_msi->msi_addr = res->start;
459 xgene_msi->node = pdev->dev.of_node;
460 xgene_msi->num_cpus = num_possible_cpus();
462 rc = xgene_msi_init_allocator(xgene_msi);
468 rc = xgene_allocate_domains(xgene_msi);
480 xgene_msi->msi_groups[irq_index].gic_irq = virt_msir;
481 xgene_msi->msi_groups[irq_index].msi_grp = irq_index;
482 xgene_msi->msi_groups[irq_index].msi = xgene_msi;
492 xgene_msi_ir_read(xgene_msi, irq_index, msi_idx);
495 msi_val = xgene_msi_int_read(xgene_msi, irq_index);