Lines Matching refs:instance
27 static bool valid_protreg_id(int instance, uint32_t id) in valid_protreg_id() argument
31 max_id = mmio_read_32(stm32mp2_risaf.base[instance] + _RISAF_HWCFGR); in valid_protreg_id()
37 static bool valid_instance(int instance) in valid_instance() argument
39 return (instance < RISAF_MAX_INSTANCE) && (stm32mp2_risaf.base[instance] != 0U); in valid_instance()
43 static bool risaf_is_hw_encryption_functional(int instance) in risaf_is_hw_encryption_functional() argument
45 return (mmio_read_32(stm32mp2_risaf.base[instance] + _RISAF_SR) & _RISAF_SR_ENCDIS) != in risaf_is_hw_encryption_functional()
49 static int check_region_boundaries(int instance, uintptr_t addr, size_t len) in check_region_boundaries() argument
52 uintptr_t mem_base = stm32_risaf_get_memory_base(instance); in check_region_boundaries()
59 end_address = mem_base + stm32_risaf_get_memory_size(instance) - 1U; in check_region_boundaries()
64 if ((stm32mp2_risaf.granularity[instance] == 0U) || in check_region_boundaries()
65 ((addr % stm32mp2_risaf.granularity[instance]) != 0U) || in check_region_boundaries()
66 ((len % stm32mp2_risaf.granularity[instance]) != 0U)) { in check_region_boundaries()
84 int instance; in check_region_overlap() local
98 instance = pdata->region[region_id].instance; in check_region_overlap()
101 if (pdata->region[i].instance != instance) { in check_region_overlap()
107 ERROR("RISAF%d: Regions %d and %d overlap\n", instance + 1, region_id, i); in check_region_overlap()
115 static int risaf_configure_region(int instance, uint32_t region_id, uint32_t cfg, in risaf_configure_region() argument
118 uintptr_t base = stm32mp2_risaf.base[instance]; in risaf_configure_region()
124 assert(valid_instance(instance)); in risaf_configure_region()
125 assert(valid_protreg_id(instance, region_id)); in risaf_configure_region()
136 (saddr - stm32_risaf_get_memory_base(instance)) & mask); in risaf_configure_region()
138 (eaddr - stm32_risaf_get_memory_base(instance)) & mask); in risaf_configure_region()
147 if (!risaf_is_hw_encryption_functional(instance)) { in risaf_configure_region()
148 ERROR("RISAF%d: encryption disabled\n", instance + 1); in risaf_configure_region()
153 ERROR("RISAF%d: encryption on non secure area\n", instance + 1); in risaf_configure_region()
186 if (pdata->region[n].instance != idx) { in risaf_conf_protreg()
232 int instance = -1; in risaf_get_instance_from_region() local
240 instance = idx; in risaf_get_instance_from_region()
244 return instance; in risaf_get_instance_from_region()
251 static int risaf_register_region(void *fdt, int node, int instance) in risaf_register_region() argument
280 if ((instance != -1) && (inst != instance)) { in risaf_register_region()
281 ERROR("RISAF%d: Region not located in expected address space\n", instance + 1); in risaf_register_region()
307 pdata->region[pdata->nregions].instance = inst; in risaf_register_region()
423 int stm32mp2_risaf_write_encryption_key(int instance, uint8_t *key) in stm32mp2_risaf_write_encryption_key() argument
427 uintptr_t base = stm32mp2_risaf.base[instance]; in stm32mp2_risaf_write_encryption_key()
462 int stm32mp2_risaf_lock(int instance) in stm32mp2_risaf_lock() argument
464 uintptr_t base = stm32mp2_risaf.base[instance]; in stm32mp2_risaf_lock()
481 int stm32mp2_risaf_is_locked(int instance, bool *state) in stm32mp2_risaf_is_locked() argument
483 uintptr_t base = stm32mp2_risaf.base[instance]; in stm32mp2_risaf_is_locked()