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

Adrian Hunter <[email protected]>
Newsgroups org.infradead.lists.linux-i3c
Organization Intel Finland Oy, Registered Address: c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo, Business Identity Code: 0357606 - 4, Domiciled in Helsinki
Message-ID <[email protected]>
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 <[email protected]>
> Signed-off-by: Patrick Yen <[email protected]>
> Signed-off-by: Jian-Ming Liao <[email protected]>

./scripts/checkpatch.pl warning:

WARNING: From:/Signed-off-by: email address mismatch: 'From: Jian-Ming Liao <[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

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)


-- 
linux-i3c mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-i3c
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.