summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnup Patel <[email protected]>2024-09-20 14:15:55 +0530
committerAnup Patel <[email protected]>2024-10-25 22:59:56 +0530
commitabc68e881da1f4168c698d35643e139ea51ac2e9 (patch)
tree067426b96d783fbaa97b0cef7260b692181c6cb6 /lib
parent8576ca423403cdff66424d8f360542aafe71c901 (diff)
lib: utils/irqchip: Use sbi_domain_root_add_memrange() for IMSIC
The sbi_domain_root_add_memrange() should be preferred for creating multiple memregions over a range. Update IMSIC driver to use sbi_domain_root_add_memrange() instead of explicitly registering memregions. Signed-off-by: Anup Patel <[email protected]> Reviewed-by: Samuel Holland <[email protected]>
Diffstat (limited to 'lib')
-rw-r--r--lib/utils/irqchip/imsic.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/utils/irqchip/imsic.c b/lib/utils/irqchip/imsic.c
index ee532bb4..ae8b31e0 100644
--- a/lib/utils/irqchip/imsic.c
+++ b/lib/utils/irqchip/imsic.c
@@ -348,7 +348,6 @@ int imsic_data_check(struct imsic_data *imsic)
int imsic_cold_irqchip_init(struct imsic_data *imsic)
{
int i, rc;
- struct sbi_domain_memregion reg;
/* Sanity checks */
rc = imsic_data_check(imsic);
@@ -378,13 +377,12 @@ int imsic_cold_irqchip_init(struct imsic_data *imsic)
/* Add IMSIC regions to the root domain */
for (i = 0; i < IMSIC_MAX_REGS && imsic->regs[i].size; i++) {
- sbi_domain_memregion_init(imsic->regs[i].addr,
- imsic->regs[i].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(imsic->regs[i].addr,
+ imsic->regs[i].size,
+ IMSIC_MMIO_PAGE_SZ,
+ SBI_DOMAIN_MEMREGION_MMIO |
+ SBI_DOMAIN_MEMREGION_M_READABLE |
+ SBI_DOMAIN_MEMREGION_M_WRITABLE);
if (rc)
return rc;
}