aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAnup Patel <apatel@ventanamicro.com>2023-11-21 11:34:14 +0530
committerAnup Patel <anup@brainfault.org>2023-11-24 12:48:41 +0530
commit791704cd09c019decf438f6e4f56423cc95cb66a (patch)
treeea9cf6d218733ccb7d544c8b8919a57b41c1ab9a /lib
parent574b9c8ec22e742e63b6204ad43916c54fc49eba (diff)
downloadopensbi-791704cd09c019decf438f6e4f56423cc95cb66a.tar.gz
opensbi-791704cd09c019decf438f6e4f56423cc95cb66a.tar.bz2
opensbi-791704cd09c019decf438f6e4f56423cc95cb66a.zip
lib: utils/irqchip: Avoid redundant writes to APLIC CLRIE register
Each APLIC CLRIE register allows disabling 32 interrupt sources at a time by writing -1 so no need to write CLRIE register separately for each interrupt source. Fixes: 99792653de29 ("lib: utils/irqchip: Add APLIC initialization library") Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Atish Patra <atishp@rivosinc.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/utils/irqchip/aplic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/utils/irqchip/aplic.c b/lib/utils/irqchip/aplic.c
index d7fd9928..10236e7a 100644
--- a/lib/utils/irqchip/aplic.c
+++ b/lib/utils/irqchip/aplic.c
@@ -193,7 +193,7 @@ int aplic_cold_irqchip_init(struct aplic_data *aplic)
writel(0, (void *)(aplic->addr + APLIC_DOMAINCFG));
/* Disable all interrupts */
- for (i = 0; i <= aplic->num_source; i++)
+ for (i = 0; i <= aplic->num_source; i += 32)
writel(-1U, (void *)(aplic->addr + APLIC_CLRIE_BASE +
(i / 32) * sizeof(u32)));