Lines Matching refs:gic_data
53 static struct gic_chip_data gic_data __read_mostly;
56 #define gic_data_rdist() (this_cpu_ptr(gic_data.rdists.rdist))
79 return gic_data.dist_base; in gic_dist_base()
102 gic_do_wait_for_rwp(gic_data.dist_base); in gic_dist_wait_for_rwp()
168 base = gic_data.dist_base; in gic_peek_irq()
183 base = gic_data.dist_base; in gic_poke_irq()
221 if (d->hwirq >= gic_data.irq_nr) /* PPI/SPI only */ in gic_irq_set_irqchip_state()
248 if (d->hwirq >= gic_data.irq_nr) /* PPI/SPI only */ in gic_irq_get_irqchip_state()
306 base = gic_data.dist_base; in gic_set_type()
347 err = handle_domain_irq(gic_data.domain, irqnr, regs); in gic_handle_irq()
384 void __iomem *base = gic_data.dist_base; in gic_dist_init()
396 for (i = 32; i < gic_data.irq_nr; i += 32) in gic_dist_init()
399 gic_dist_config(base, gic_data.irq_nr, gic_dist_wait_for_rwp); in gic_dist_init()
410 for (i = 32; i < gic_data.irq_nr; i++) in gic_dist_init()
430 for (i = 0; i < gic_data.nr_redist_regions; i++) { in gic_populate_rdist()
431 void __iomem *ptr = gic_data.redist_regions[i].redist_base; in gic_populate_rdist()
444 u64 offset = ptr - gic_data.redist_regions[i].redist_base; in gic_populate_rdist()
446 gic_data_rdist()->phys_base = gic_data.redist_regions[i].phys_base + offset; in gic_populate_rdist()
453 if (gic_data.redist_stride) { in gic_populate_rdist()
454 ptr += gic_data.redist_stride; in gic_populate_rdist()
498 return !!(readl_relaxed(gic_data.dist_base + GICD_TYPER) & GICD_TYPER_LPIS); in gic_dist_supports_lpis()
715 #define GIC_ID_NR (1U << gic_data.rdists.id_bits)
729 if (hw >= gic_data.irq_nr && hw < 8192) in gic_irq_domain_map()
743 if (hw >= 32 && hw < gic_data.irq_nr) { in gic_irq_domain_map()
893 gic_data.dist_base = dist_base; in gic_of_init()
894 gic_data.redist_regions = rdist_regs; in gic_of_init()
895 gic_data.nr_redist_regions = nr_redist_regions; in gic_of_init()
896 gic_data.redist_stride = redist_stride; in gic_of_init()
904 typer = readl_relaxed(gic_data.dist_base + GICD_TYPER); in gic_of_init()
905 gic_data.rdists.id_bits = GICD_TYPER_ID_BITS(typer); in gic_of_init()
909 gic_data.irq_nr = gic_irqs; in gic_of_init()
911 gic_data.domain = irq_domain_add_tree(node, &gic_irq_domain_ops, in gic_of_init()
912 &gic_data); in gic_of_init()
913 gic_data.rdists.rdist = alloc_percpu(typeof(*gic_data.rdists.rdist)); in gic_of_init()
915 if (WARN_ON(!gic_data.domain) || WARN_ON(!gic_data.rdists.rdist)) { in gic_of_init()
923 its_init(node, &gic_data.rdists, gic_data.domain); in gic_of_init()
933 if (gic_data.domain) in gic_of_init()
934 irq_domain_remove(gic_data.domain); in gic_of_init()
935 free_percpu(gic_data.rdists.rdist); in gic_of_init()