Lines Matching refs:gic_data

52 static struct gic_chip_data gic_data __read_mostly;
54 #define gic_data_rdist() (this_cpu_ptr(gic_data.rdists.rdist))
77 return gic_data.dist_base; in gic_dist_base()
100 gic_do_wait_for_rwp(gic_data.dist_base); in gic_dist_wait_for_rwp()
206 base = gic_data.dist_base; in gic_peek_irq()
221 base = gic_data.dist_base; in gic_poke_irq()
244 if (d->hwirq >= gic_data.irq_nr) /* PPI/SPI only */ in gic_irq_set_irqchip_state()
271 if (d->hwirq >= gic_data.irq_nr) /* PPI/SPI only */ in gic_irq_get_irqchip_state()
318 base = gic_data.dist_base; in gic_set_type()
346 err = handle_domain_irq(gic_data.domain, irqnr, regs); in gic_handle_irq()
376 void __iomem *base = gic_data.dist_base; in gic_dist_init()
388 for (i = 32; i < gic_data.irq_nr; i += 32) in gic_dist_init()
391 gic_dist_config(base, gic_data.irq_nr, gic_dist_wait_for_rwp); in gic_dist_init()
402 for (i = 32; i < gic_data.irq_nr; i++) in gic_dist_init()
422 for (i = 0; i < gic_data.nr_redist_regions; i++) { in gic_populate_rdist()
423 void __iomem *ptr = gic_data.redist_regions[i].redist_base; in gic_populate_rdist()
436 u64 offset = ptr - gic_data.redist_regions[i].redist_base; in gic_populate_rdist()
438 gic_data_rdist()->phys_base = gic_data.redist_regions[i].phys_base + offset; in gic_populate_rdist()
446 if (gic_data.redist_stride) { in gic_populate_rdist()
447 ptr += gic_data.redist_stride; in gic_populate_rdist()
479 return !!(readl_relaxed(gic_data.dist_base + GICD_TYPER) & GICD_TYPER_LPIS); in gic_dist_supports_lpis()
682 #define GIC_ID_NR (1U << gic_data.rdists.id_bits)
691 if (hw >= gic_data.irq_nr && hw < 8192) in gic_irq_domain_map()
705 if (hw >= 32 && hw < gic_data.irq_nr) { in gic_irq_domain_map()
841 gic_data.dist_base = dist_base; in gic_of_init()
842 gic_data.redist_regions = rdist_regs; in gic_of_init()
843 gic_data.nr_redist_regions = nr_redist_regions; in gic_of_init()
844 gic_data.redist_stride = redist_stride; in gic_of_init()
850 typer = readl_relaxed(gic_data.dist_base + GICD_TYPER); in gic_of_init()
851 gic_data.rdists.id_bits = GICD_TYPER_ID_BITS(typer); in gic_of_init()
855 gic_data.irq_nr = gic_irqs; in gic_of_init()
857 gic_data.domain = irq_domain_add_tree(node, &gic_irq_domain_ops, in gic_of_init()
858 &gic_data); in gic_of_init()
859 gic_data.rdists.rdist = alloc_percpu(typeof(*gic_data.rdists.rdist)); in gic_of_init()
861 if (WARN_ON(!gic_data.domain) || WARN_ON(!gic_data.rdists.rdist)) { in gic_of_init()
869 its_init(node, &gic_data.rdists, gic_data.domain); in gic_of_init()
879 if (gic_data.domain) in gic_of_init()
880 irq_domain_remove(gic_data.domain); in gic_of_init()
881 free_percpu(gic_data.rdists.rdist); in gic_of_init()