Lines Matching refs:gicd_base

138 	vaddr_t gicd_base;  member
187 io_read32(gd->gicd_base + GICD_CTLR) & GICD_CTLR_ARE_S; in affinity_routing_is_enabled()
190 static size_t probe_max_it(vaddr_t gicc_base __maybe_unused, vaddr_t gicd_base) in probe_max_it() argument
195 size_t max_regs = io_read32(gicd_base + GICD_TYPER) & in probe_max_it()
213 old_reg = io_read32(gicd_base + GICD_ISENABLER(i)); in probe_max_it()
214 io_write32(gicd_base + GICD_ISENABLER(i), 0xffffffff); in probe_max_it()
215 reg = io_read32(gicd_base + GICD_ISENABLER(i)); in probe_max_it()
216 io_write32(gicd_base + GICD_ICENABLER(i), ~old_reg); in probe_max_it()
307 grp0 = io_read32(gd->gicd_base + GICD_IGROUPR(0)); in gic_legacy_sync_dist_config()
319 io_write32(gd->gicd_base + GICD_ICENABLER(0), BIT(n)); in gic_legacy_sync_dist_config()
322 io_write32(gd->gicd_base + GICD_ICPENDR(0), BIT(n)); in gic_legacy_sync_dist_config()
331 io_write32(gd->gicd_base + GICD_IGROUPR(0), grp0); in gic_legacy_sync_dist_config()
332 io_write32(gd->gicd_base + GICD_ISENABLER(0), in gic_legacy_sync_dist_config()
339 io_write32(gd->gicd_base + GICD_IGROUPR(0), gd->per_cpu_group_status); in init_gic_per_cpu()
363 assert(gd->gicd_base); in gic_init_per_cpu()
365 assert(gd->gicd_base && gd->gicc_base); in gic_init_per_cpu()
420 io_write32(gd->gicd_base + GICD_ICENABLER(0), BIT(it)); in gic_init_donate_sgi_to_ns()
423 io_write32(gd->gicd_base + GICD_ICPENDR(0), BIT(it)); in gic_init_donate_sgi_to_ns()
426 io_write32(gd->gicd_base + GICD_IGROUPR(0), in gic_init_donate_sgi_to_ns()
527 vaddr_t gicd_base = 0; in gic_init_base_addr() local
532 gicd_base = core_mmu_get_va(gicd_base_pa, MEM_AREA_IO_SEC, in gic_init_base_addr()
534 if (!gicd_base) in gic_init_base_addr()
537 vers = io_read32(gicd_base + GICD_PIDR2); in gic_init_base_addr()
552 gd->gicd_base = gicd_base; in gic_init_base_addr()
553 gd->max_it = probe_max_it(gicc_base, gicd_base); in gic_init_base_addr()
591 gd->per_cpu_group_status = io_read32(gd->gicd_base + in gic_init_v3()
602 io_write32(gd->gicd_base + GICD_ICENABLER(n), 0xffffffff); in gic_init_v3()
605 io_write32(gd->gicd_base + GICD_ICPENDR(n), 0xffffffff); in gic_init_v3()
616 io_write32(gd->gicd_base + GICD_IGROUPR(n), in gic_init_v3()
619 io_write32(gd->gicd_base + GICD_IGROUPR(n), 0xffffffff); in gic_init_v3()
629 io_setbits32(gd->gicd_base + GICD_CTLR, GICD_CTLR_ENABLEGRP1S); in gic_init_v3()
636 io_setbits32(gd->gicd_base + GICD_CTLR, in gic_init_v3()
652 io_write32(gd->gicd_base + GICD_ICENABLER(idx), mask); in gic_it_configure()
654 io_write32(gd->gicd_base + GICD_ICPENDR(idx), mask); in gic_it_configure()
656 io_clrbits32(gd->gicd_base + GICD_IGROUPR(idx), mask); in gic_it_configure()
659 io_setbits32(gd->gicd_base + GICD_IGROUPMODR(idx), mask); in gic_it_configure()
670 vaddr_t itargetsr = gd->gicd_base + in gic_it_set_cpu_mask()
676 assert(!(io_read32(gd->gicd_base + GICD_IGROUPR(idx)) & mask)); in gic_it_set_cpu_mask()
696 assert(!(io_read32(gd->gicd_base + GICD_IGROUPR(idx)) & mask)); in gic_it_set_prio()
700 prio, gd->gicd_base + GICD_IPRIORITYR(0) + it); in gic_it_set_prio()
701 io_write8(gd->gicd_base + GICD_IPRIORITYR(0) + it, prio); in gic_it_set_prio()
718 io_mask32(gd->gicd_base + GICD_ICFGR(index), in gic_it_set_type()
727 vaddr_t base = gd->gicd_base; in gic_it_enable()
746 assert(!(io_read32(gd->gicd_base + GICD_IGROUPR(idx)) & mask)); in gic_it_disable()
749 io_write32(gd->gicd_base + GICD_ICENABLER(idx), mask); in gic_it_disable()
763 io_write32(gd->gicd_base + GICD_ISPENDR(idx), mask); in gic_it_set_pending()
836 io_write32(gd->gicd_base + GICD_SGIR, mask); in gic_it_raise_sgi()
868 return !!(io_read32(gd->gicd_base + GICD_ISENABLER(idx)) & mask); in gic_it_is_enabled()
877 return !!(io_read32(gd->gicd_base + GICD_IGROUPR(idx)) & mask); in gic_it_get_group()
886 uint32_t target = io_read32(gd->gicd_base + GICD_ITARGETSR(reg_idx)); in gic_it_get_target()
902 DMSG("GICD_CTLR: %#"PRIx32, io_read32(gd->gicd_base + GICD_CTLR)); in gic_dump_state()
932 io_write32(gd->gicd_base + GICD_ICPENDR(idx), mask); in gic_spi_release_to_ns()
934 io_setbits32(gd->gicd_base + GICD_IGROUPR(idx), mask); in gic_spi_release_to_ns()
936 io_clrbits32(gd->gicd_base + GICD_IGROUPMODR(idx), mask); in gic_spi_release_to_ns()