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

Adrian Hunter adrian.hunter at intel.com
Tue Aug 11 04:09:00 PDT 2026


On 28/07/2026 12:32, Jian-Ming Liao wrote:
> Enable the IBI threshold interrupt (STAT_IBI_STATUS_THLD) by default

Seems like it wasn't enabled at all before.  Should this have
a Fixes tag then?

> during PIO initialization. This ensures that early IBIs from devices
> that have not yet formally requested IBI routing are properly captured,

Is that right?  I think DAT has always been initialized with
SIR_REJECT.  Also i3c_hci_addr_to_dev() has recently been
hardened to prevent IBIs when they are not enabled.

> 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>

./scripts/checkpatch.pl warning:

WARNING: From:/Signed-off-by: email address mismatch: 'From: Jian-Ming Liao <tim678910 at gmail.com>' != '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

Actually, in the current code, not enabled until the first xfer

> +	 * 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)




More information about the linux-i3c mailing list