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

Jian-Ming Liao <[email protected]> Tue, 28 Jul 2026 17:32:36 +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 early IBIs from devices
that have not yet formally requested IBI 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]>
---
v2:
  - Removed "Hot-Join" references from the commit message and comments,
    as the change focuses strictly on enabling STAT_IBI_STATUS_THLD 
    for general IBI reception per HCI spec.

 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..9df114ef0278 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 ensure that IBIs
+	 * are captured, even for 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