diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-05-12 10:27:52 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-05-23 08:06:29 +0300 |
commit | 446a9c6d1eb97fcedd6a94ac76d15e941a6087a8 (patch) | |
tree | b8b8d6e8fec3fb2caf01913b0f2139c4f8695846 /include/sbi_utils/irqchip | |
parent | 73d6ef3b2933ccf0b3a8a0ba110bf53ad9720b51 (diff) | |
download | opensbi-446a9c6d1eb97fcedd6a94ac76d15e941a6087a8.tar.xz |
lib: utils: Allow PLIC functions to be used for multiple PLICs
We extend all PLIC functions to have a "struct plic_data *"
parameter pointing to PLIC details. This allows platforms to
use these functions for multiple PLIC instances.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Diffstat (limited to 'include/sbi_utils/irqchip')
-rw-r--r-- | include/sbi_utils/irqchip/plic.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/include/sbi_utils/irqchip/plic.h b/include/sbi_utils/irqchip/plic.h index 68034be..0e56d80 100644 --- a/include/sbi_utils/irqchip/plic.h +++ b/include/sbi_utils/irqchip/plic.h @@ -12,12 +12,18 @@ #include <sbi/sbi_types.h> -int plic_warm_irqchip_init(int m_cntx_id, int s_cntx_id); +struct plic_data { + unsigned long addr; + unsigned long num_src; +}; -int plic_cold_irqchip_init(unsigned long base, u32 num_sources); +int plic_warm_irqchip_init(struct plic_data *plic, + int m_cntx_id, int s_cntx_id); -void plic_set_thresh(u32 cntxid, u32 val); +int plic_cold_irqchip_init(struct plic_data *plic); -void plic_set_ie(u32 cntxid, u32 word_index, u32 val); +void plic_set_thresh(struct plic_data *plic, u32 cntxid, u32 val); + +void plic_set_ie(struct plic_data *plic, u32 cntxid, u32 word_index, u32 val); #endif |