From 2ee7256d97c5724f75a5dd3c905988cec6c395d6 Mon Sep 17 00:00:00 2001 From: Conor Paxton Date: Fri, 24 Nov 2023 00:42:39 +0000 Subject: [PATCH] FIXME: iterating thru the nr of contexts in the plic driver Signed-off-by: Conor Paxton --- drivers/interrupt_controller/intc_plic.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/interrupt_controller/intc_plic.c b/drivers/interrupt_controller/intc_plic.c index 51ce17693969335..add19c46dfb5a42 100644 --- a/drivers/interrupt_controller/intc_plic.c +++ b/drivers/interrupt_controller/intc_plic.c @@ -318,7 +318,14 @@ static int plic_init(const struct device *dev) mem_addr_t prio_addr = config->prio; mem_addr_t thres_prio_addr = get_threshold_priority_addr(dev); - /* Ensure that all interrupts are disabled initially */ + + uint16_t nr_contexts = DT_NUM_IRQS(DT_NODELABEL(plic)); + uint16_t adder = 0; + + for (uint16_t ab = 0; ab < nr_contexts; ab++) { + adder += ab; + } + for (uint32_t i = 0; i < get_plic_enabled_size(dev); i++) { sys_write32(0U, en_addr + (i * sizeof(uint32_t))); } @@ -355,7 +362,7 @@ static int plic_init(const struct device *dev) .trig = PLIC_BASE_ADDR(n) + PLIC_REG_TRIG_TYPE_OFFSET, \ .max_prio = DT_INST_PROP(n, riscv_max_priority), \ .num_irqs = DT_INST_PROP(n, riscv_ndev), \ - .irq_config_func = plic_irq_config_func_##n, \ + .irq_config_func = plic_irq_config_func_##n \ }; \ PLIC_INTC_IRQ_FUNC_DEFINE(n)