Re: [PATCH 0/4] irqchip/rpmi: Expose APLIC/IMSIC interfaces for platform use
Anup Patel <[email protected]> Sun, 7 Jun 2026 21:44:22 +0530
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <CAAhSdy3OTy5UsBGhHiJbnD2Qh0zZz+ERMfVu8yygft-1qr3r5A@mail.gmail.com> |
Hi David, On Sat, Mar 28, 2026 at 11:14 AM David E. Garcia Porras <[email protected]> wrote: > > This series exposes existing APLIC and IMSIC internal definitions and > adds minimal extension points so that platform code can perform custom > interrupt configuration without modifying the generic irqchip drivers. > > The motivation is that a platform which uses AIA may need to > - Configure APLIC source/target registers directly for M-mode > interrupt routing > - Iterate registered APLIC devices for platform-specific > initialization > - Handle M-mode external interrupts beyond IPI in the IMSIC driver > Furthermore, a platform using RPMI PERFORMANCE service group may > need to: > - Use RPMI performance domain attribute flags for RPMI PERFORMANCE > PERF_DOMAIN and FAST_CHANNEL attribute control Platform specific code should be doing minimal AIA configuration and we will soon have more functionally complete IMSIC and APLIC drivers. The idea is that platforms should be able to create desired interrupt routing to domains using only DT-based domain configuration and generic AIA, MPXY, and RPMI drivers. > > Patch 1 moves APLIC register defines from aplic.c to the public > aplic.h header (pure move, no functional change). > Patch 2 adds aplic_get_list() to allow platform code to iterate > registered APLIC devices. Based on above, both PATCH1 and PATCH2 are not needed. If a platform specific code still needs direct APLIC configuration then better to have these patches as part of the series which adds that platform support in OpenSBI. > Patch 3 routes non-IPI IMSIC interrupts through the sbi_irqchip > handler framework and adds hwirq_unmask/hwirq_mask callbacks so > that sbi_irqchip_register_handler() works end-to-end with IMSIC. The PATCH3 is really incomplete because IMSIC driver needs to implement lot more sbi_irqchip operations for a complete MSI controller functionality. We (Qualcomm) will be posting a complete IMSIC driver which will also include a complete APLIC driver supporting both MSI-mode and Direct-mode in the next few days so stay tuned. > Patch 4 adds missing RPMI performance flag defines and a struct field. The PATCH4 of this series looks good to me and should be merged. > > All changes are additive and preserve existing behavior for platforms > that do not use the new interfaces. > > David E. Garcia Porras (4): > lib: utils: irqchip: aplic: Move register defines to public header > lib: utils: irqchip: aplic: Add aplic_get_list() accessor > lib: utils: irqchip: imsic: Dispatch non-IPI interrupts via irqchip > framework > include: mailbox: rpmi_msgprot: Add RPMI performance domain flag > defines > > include/sbi_utils/irqchip/aplic.h | 103 ++++++++++++++++++++++ > include/sbi_utils/mailbox/rpmi_msgprot.h | 18 ++++ > lib/utils/irqchip/aplic.c | 106 ++--------------------- > lib/utils/irqchip/imsic.c | 15 +++- > 4 files changed, 139 insertions(+), 103 deletions(-) > > -- > 2.43.0 > > > -- > opensbi mailing list > [email protected] > http://lists.infradead.org/mailman/listinfo/opensbi Regards, Anup -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi