Re: [PATCH v3 1/3] i3c: mipi-i3c-hci: Fix missing STAT_IBI_STATUS_THLD in PIO mode

Frank Li <[email protected]>
Newsgroups org.infradead.lists.linux-i3c
Message-ID <aoNliknLshqVQiMo@lizhi-Precision-Tower-5810>
On Mon, Aug 17, 2026 at 04:26:45PM +0800, Jian-Ming Liao wrote:
> In PIO mode initialization, STAT_IBI_STATUS_THLD was missing from
> pio->enabled_irqs. As a result, the host controller interrupt signal for
> IBI threshold was never enabled when transfer starts, preventing IBI
> status descriptors from being properly processed in PIO mode.
>
> Include STAT_IBI_STATUS_THLD in pio->enabled_irqs so that the IBI
> threshold interrupt is activated alongside error interrupts upon the first
> transfer.
>
> Fixes: 9ad9a52cce28 ("i3c/master: introduce the mipi-i3c-hci driver")
> Co-developed-by: Patrick Yen <[email protected]>
> Signed-off-by: Patrick Yen <[email protected]>
> Signed-off-by: Jian-Ming Liao <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

> v3:
>  - Added Fixes tag (Adrian).
>  - Updated commit message and code comment to accurately reflect that
>    STAT_IBI_STATUS_THLD is activated on the first transfer (Adrian).
>  - Aligned From: and Signed-off-by: email addresses (Adrian).
> 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 | 7 +++++--
>  1 file changed, 5 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..a1341d66bc65 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/pio.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/pio.c
> @@ -185,8 +185,11 @@ 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 and IBI threshold interrupt
> +	 * (will be activated on first xfer).
> +	 */
> +	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

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