[PATCH v2 2/4] lib: sbi_mpxy: Enable MPXY channel MSI availability determination

Anup Patel <[email protected]> Mon, 8 Jun 2026 18:22:54 +0530
Newsgroups org.infradead.lists.opensbi
Message-ID <[email protected]>
From: "David E. Garcia Porras" <[email protected]>

Use sbi_irqchip_find_device_by_caps() to determine MSI availability
for each MPXY channel based on MSI controller presence in the system
instead of unconditionally disabling it.

Signed-off-by: David E. Garcia Porras <[email protected]>
---
 lib/sbi/sbi_mpxy.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/sbi/sbi_mpxy.c b/lib/sbi/sbi_mpxy.c
index 8daeb83d..3e0e0af6 100644
--- a/lib/sbi/sbi_mpxy.c
+++ b/lib/sbi/sbi_mpxy.c
@@ -13,6 +13,7 @@
 #include <sbi/sbi_hart.h>
 #include <sbi/sbi_hart_protection.h>
 #include <sbi/sbi_heap.h>
+#include <sbi/sbi_irqchip.h>
 #include <sbi/sbi_platform.h>
 #include <sbi/sbi_mpxy.h>
 #include <sbi/sbi_scratch.h>
@@ -255,11 +256,10 @@ static int domain_mpxy_state_data_setup(struct sbi_domain *dom,
 			return SBI_ENOMEM;
 
 		/*
-		 * TODO: Proper support for checking msi support from
-		 * platform. Currently disable msi and sse and use
-		 * polling
+		 * TODO: Proper support for checking sse support from
+		 * platform. Currently disable sse and use polling
 		 */
-		ms->msi_avail = false;
+		ms->msi_avail = !!sbi_irqchip_find_device_by_caps(SBI_IRQCHIP_CAPS_MSI, NULL);
 		ms->sse_avail = false;
 
 		sbi_mpxy_shmem_disable(ms);
-- 
2.43.0


-- 
opensbi mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/opensbi