Lines Matching refs:gpt_config

70 static gpt_config_t gpt_config;  variable
172 uint64_t *l0_desc = (uint64_t *)gpt_config.plat_gpt_l0_base; in gpt_validate_pas_mappings()
187 GPT_PPS_ACTUAL_SIZE(gpt_config.t)) || in gpt_validate_pas_mappings()
251 if (!GPT_IS_L1_ALIGNED(gpt_config.p, pas_regions[idx].base_pa) || in gpt_validate_pas_mappings()
252 !GPT_IS_L1_ALIGNED(gpt_config.p, pas_regions[idx].size)) { in gpt_validate_pas_mappings()
329 gpt_config.pps = pps; in gpt_validate_l0_params()
330 gpt_config.t = gpt_t_lookup[pps]; in gpt_validate_l0_params()
334 if (l0_alignment < GPT_L0_TABLE_SIZE(gpt_config.t)) { in gpt_validate_l0_params()
335 l0_alignment = GPT_L0_TABLE_SIZE(gpt_config.t); in gpt_validate_l0_params()
345 if (l0_mem_size < GPT_L0_TABLE_SIZE(gpt_config.t)) { in gpt_validate_l0_params()
347 GPT_L0_TABLE_SIZE(gpt_config.t), in gpt_validate_l0_params()
374 GPT_PGS_ACTUAL_SIZE(gpt_config.p))) { in gpt_validate_l1_params()
379 if ((l1_mem_base & (GPT_L1_TABLE_SIZE(gpt_config.p) - 1)) != 0U) { in gpt_validate_l1_params()
386 l1_gpt_mem_sz = l1_gpt_cnt * GPT_L1_TABLE_SIZE(gpt_config.p); in gpt_validate_l1_params()
389 if ((l1_gpt_mem_sz / GPT_L1_TABLE_SIZE(gpt_config.p)) != l1_gpt_cnt) { in gpt_validate_l1_params()
421 assert(gpt_config.plat_gpt_l0_base != 0U); in gpt_generate_l0_blk_desc()
429 l0_gpt_arr = (uint64_t *)gpt_config.plat_gpt_l0_base; in gpt_generate_l0_blk_desc()
501 assert((first & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) == 0U); in gpt_fill_l1_tbl()
502 assert((last & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) == 0U); in gpt_fill_l1_tbl()
507 gpi_mask = gpi_mask << (GPT_L1_GPI_IDX(gpt_config.p, first) << 2); in gpt_fill_l1_tbl()
510 for (unsigned int i = GPT_L1_IDX(gpt_config.p, first); in gpt_fill_l1_tbl()
511 i <= GPT_L1_IDX(gpt_config.p, last); i++) { in gpt_fill_l1_tbl()
513 if (i == GPT_L1_IDX(gpt_config.p, last)) { in gpt_fill_l1_tbl()
515 GPT_L1_GPI_IDX(gpt_config.p, last)) << 2)); in gpt_fill_l1_tbl()
543 (GPT_L1_TABLE_SIZE(gpt_config.p) * in gpt_get_new_l1_tbl()
550 for (unsigned int i = 0U; i < GPT_L1_ENTRY_COUNT(gpt_config.p); i++) { in gpt_get_new_l1_tbl()
574 assert(gpt_config.plat_gpt_l0_base != 0U); in gpt_generate_l0_tbl_desc()
583 l0_gpt_base = (uint64_t *)gpt_config.plat_gpt_l0_base; in gpt_generate_l0_tbl_desc()
617 GPT_PGS_ACTUAL_SIZE(gpt_config.p); in gpt_generate_l0_tbl_desc()
648 uint64_t *l0 = (uint64_t *)gpt_config.plat_gpt_l0_base; in flush_l0_for_pas_array()
691 if (gpt_config.plat_gpt_l0_base == 0U) { in gpt_enable()
697 write_gptbr_el3(((gpt_config.plat_gpt_l0_base >> GPTBR_BADDR_VAL_SHIFT) in gpt_enable()
701 gpccr_el3 = SET_GPCCR_PPS(gpt_config.pps); in gpt_enable()
704 gpccr_el3 |= SET_GPCCR_PGS(gpt_config.pgs); in gpt_enable()
784 for (unsigned int i = 0U; i < GPT_L0_REGION_COUNT(gpt_config.t); i++) { in gpt_init_l0_tables()
790 (size_t)GPT_L0_TABLE_SIZE(gpt_config.t)); in gpt_init_l0_tables()
793 gpt_config.plat_gpt_l0_base = l0_mem_base; in gpt_init_l0_tables()
834 gpt_config.pgs = pgs; in gpt_init_pas_l1_tables()
835 gpt_config.p = gpt_p_lookup[pgs]; in gpt_init_pas_l1_tables()
838 if (gpt_config.plat_gpt_l0_base == 0U) { in gpt_init_pas_l1_tables()
865 INFO(" PPS/T: 0x%x/%u\n", gpt_config.pps, gpt_config.t); in gpt_init_pas_l1_tables()
866 INFO(" PGS/P: 0x%x/%u\n", gpt_config.pgs, gpt_config.p); in gpt_init_pas_l1_tables()
869 INFO(" L0 base: 0x%lx\n", gpt_config.plat_gpt_l0_base); in gpt_init_pas_l1_tables()
894 GPT_L1_TABLE_SIZE(gpt_config.p) * in gpt_init_pas_l1_tables()
936 gpt_config.plat_gpt_l0_base = ((reg >> GPTBR_BADDR_SHIFT) & in gpt_runtime_init()
942 gpt_config.pps = (reg >> GPCCR_PPS_SHIFT) & GPCCR_PPS_MASK; in gpt_runtime_init()
943 gpt_config.t = gpt_t_lookup[gpt_config.pps]; in gpt_runtime_init()
944 gpt_config.pgs = (reg >> GPCCR_PGS_SHIFT) & GPCCR_PGS_MASK; in gpt_runtime_init()
945 gpt_config.p = gpt_p_lookup[gpt_config.pgs]; in gpt_runtime_init()
948 VERBOSE(" PPS/T: 0x%x/%u\n", gpt_config.pps, gpt_config.t); in gpt_runtime_init()
949 VERBOSE(" PGS/P: 0x%x/%u\n", gpt_config.pgs, gpt_config.p); in gpt_runtime_init()
951 VERBOSE(" L0 base: 0x%lx\n", gpt_config.plat_gpt_l0_base); in gpt_runtime_init()
984 gpt_l0_base = (uint64_t *)gpt_config.plat_gpt_l0_base; in get_gpi_params()
994 gpi_info->idx = GPT_L1_IDX(gpt_config.p, base); in get_gpi_params()
995 gpi_info->gpi_shift = GPT_L1_GPI_IDX(gpt_config.p, base) << 2; in get_gpi_params()
1028 assert(gpt_config.plat_gpt_l0_base != 0UL); in gpt_delegate_pas()
1038 if (size != GPT_PGS_ACTUAL_SIZE(gpt_config.p)) { in gpt_delegate_pas()
1051 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) || in gpt_delegate_pas()
1052 ((size & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) || in gpt_delegate_pas()
1054 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) { in gpt_delegate_pas()
1099 GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_delegate_pas()
1105 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_delegate_pas()
1111 GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_delegate_pas()
1150 assert(gpt_config.plat_gpt_l0_base != 0UL); in gpt_undelegate_pas()
1160 if (size != GPT_PGS_ACTUAL_SIZE(gpt_config.p)) { in gpt_undelegate_pas()
1173 if (((base & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) || in gpt_undelegate_pas()
1174 ((size & (GPT_PGS_ACTUAL_SIZE(gpt_config.p) - 1)) != 0UL) || in gpt_undelegate_pas()
1176 ((base + size) >= GPT_PPS_ACTUAL_SIZE(gpt_config.t))) { in gpt_undelegate_pas()
1218 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_undelegate_pas()
1229 GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_undelegate_pas()
1238 GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_undelegate_pas()
1246 gpt_tlbi_by_pa_ll(base, GPT_PGS_ACTUAL_SIZE(gpt_config.p)); in gpt_undelegate_pas()