aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2024-09-20 14:28:43 +0530
committerAnup Patel <anup@brainfault.org>2024-10-25 22:59:58 +0530
commitdc5d747af809c562ab63994e0f06091b9ea25141 (patch)
tree508ec392df51a9236f1e620174c8154fee049a09 /lib
parentabc68e881da1f4168c698d35643e139ea51ac2e9 (diff)
downloadopensbi-dc5d747af809c562ab63994e0f06091b9ea25141.zip
opensbi-dc5d747af809c562ab63994e0f06091b9ea25141.tar.gz
opensbi-dc5d747af809c562ab63994e0f06091b9ea25141.tar.bz2
lib: utils/irqchip: Use sbi_domain_root_add_memrange() for APLIC
The sbi_domain_root_add_memrange() should be preferred for creating multiple memregions over a range. Update APLIC driver to use sbi_domain_root_add_memrange() instead of explicitly registering memregions. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Samuel Holland <samuel.holland@sifive.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/utils/irqchip/aplic.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/utils/irqchip/aplic.c b/lib/utils/irqchip/aplic.c
index 10236e7..28f2f26 100644
--- a/lib/utils/irqchip/aplic.c
+++ b/lib/utils/irqchip/aplic.c
@@ -169,7 +169,6 @@ int aplic_cold_irqchip_init(struct aplic_data *aplic)
{
int rc;
u32 i, j, tmp;
- struct sbi_domain_memregion reg;
struct aplic_delegate_data *deleg;
u32 first_deleg_irq, last_deleg_irq;
@@ -268,12 +267,10 @@ int aplic_cold_irqchip_init(struct aplic_data *aplic)
((first_deleg_irq < last_deleg_irq) &&
(last_deleg_irq == aplic->num_source) &&
(first_deleg_irq == 1))) {
- sbi_domain_memregion_init(aplic->addr, aplic->size,
- (SBI_DOMAIN_MEMREGION_MMIO |
- SBI_DOMAIN_MEMREGION_M_READABLE |
- SBI_DOMAIN_MEMREGION_M_WRITABLE),
- &reg);
- rc = sbi_domain_root_add_memregion(&reg);
+ rc = sbi_domain_root_add_memrange(aplic->addr, aplic->size, PAGE_SIZE,
+ SBI_DOMAIN_MEMREGION_MMIO |
+ SBI_DOMAIN_MEMREGION_M_READABLE |
+ SBI_DOMAIN_MEMREGION_M_WRITABLE);
if (rc)
return rc;
}