[PATCH v2 1/3] i3c: mipi-i3c-hci: Enable IBI threshold interrupt by default in PIO mode
Jian-Ming Liao
tim678910 at gmail.com
Tue Jul 28 02:32:36 PDT 2026
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 <Patrick_Yen at asmedia.com.tw>
Signed-off-by: Patrick Yen <Patrick_Yen at asmedia.com.tw>
Signed-off-by: Jian-Ming Liao <Jm_Liao at asmedia.com.tw>
---
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
More information about the linux-i3c
mailing list