forked from Mirrors/opensbi
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>
This commit is contained in:
@@ -169,7 +169,6 @@ int aplic_cold_irqchip_init(struct aplic_data *aplic)
|
|||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
u32 i, j, tmp;
|
u32 i, j, tmp;
|
||||||
struct sbi_domain_memregion reg;
|
|
||||||
struct aplic_delegate_data *deleg;
|
struct aplic_delegate_data *deleg;
|
||||||
u32 first_deleg_irq, last_deleg_irq;
|
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) &&
|
((first_deleg_irq < last_deleg_irq) &&
|
||||||
(last_deleg_irq == aplic->num_source) &&
|
(last_deleg_irq == aplic->num_source) &&
|
||||||
(first_deleg_irq == 1))) {
|
(first_deleg_irq == 1))) {
|
||||||
sbi_domain_memregion_init(aplic->addr, aplic->size,
|
rc = sbi_domain_root_add_memrange(aplic->addr, aplic->size, PAGE_SIZE,
|
||||||
(SBI_DOMAIN_MEMREGION_MMIO |
|
SBI_DOMAIN_MEMREGION_MMIO |
|
||||||
SBI_DOMAIN_MEMREGION_M_READABLE |
|
SBI_DOMAIN_MEMREGION_M_READABLE |
|
||||||
SBI_DOMAIN_MEMREGION_M_WRITABLE),
|
SBI_DOMAIN_MEMREGION_M_WRITABLE);
|
||||||
®);
|
|
||||||
rc = sbi_domain_root_add_memregion(®);
|
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user