[PATCH 1/3] i3c: mipi-i3c-hci: Enable IBI threshold interrupt by default in PIO mode

Jian-Ming Liao <[email protected]> Thu, 9 Jul 2026 15:17:42 +0800
Newsgroups org.infradead.lists.linux-i3c
Message-ID <[email protected]>
Enable the IBI threshold interrupt (STAT_IBI_STATUS_THLD) by default
during PIO initialization. This ensures that Hot-Join requests and
early IBIs from devices that have not yet formally requested routing
are properly captured, improving system responsiveness and stability.

Co-developed-by: Patrick Yen <[email protected]>
Signed-off-by: Patrick Yen <[email protected]>
Signed-off-by: Jian-Ming Liao <[email protected]>
---
 drivers/i3c/master/mipi-i3c-hci/pio.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/i3c/master/mipi-i3c-hci/pio.c b/drivers/i3c/master/mipi-i3c-hci/pio.c
index ff2657ee220b..7870b2c7888f 100644
--- a/drivers/i3c/master/mipi-i3c-hci/pio.c
+++ b/drivers/i3c/master/mipi-i3c-hci/pio.c
@@ -185,8 +185,13 @@ static void __hci_pio_init(struct i3c_hci *hci, u32 *size_val_ptr)
 	pio_reg_write(INTR_SIGNAL_ENABLE, 0x0);
 	pio_reg_write(INTR_STATUS_ENABLE, 0xffffffff);
 
-	/* Always accept error interrupts (will be activated on first xfer) */
-	pio->enabled_irqs = STAT_ALL_ERRORS;
+	/*
+	 * Always accept error interrupts (will be activated on first xfer).
+	 * Also enable IBI threshold interrupt by default to catch Hot-Join
+	 * requests and IBIs from devices that haven't formally requested
+	 * IBI routing yet.
+	 */
+	pio->enabled_irqs = STAT_ALL_ERRORS | STAT_IBI_STATUS_THLD;
 }
 
 static void hci_pio_suspend(struct i3c_hci *hci)
-- 
2.43.0


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