[PATCH v3 3/3] i3c: master: amd: Add hot-join support

sashiko-bot at kernel.org sashiko-bot at kernel.org
Tue Sep 8 02:55:28 PDT 2026


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Hot-Join ACKs are not suppressed during active transfers, which can lead to aborted transfers.
--

commit 358c5431178f52c8aa53689fcf0396bc127e9e05
Author: Shubham Patil <shubhamsanjay.patil at amd.com>

i3c: master: amd: Add hot-join support
    
This commit adds hot-join support for the AMD AXI I3C master controller.
It introduces a sysfs entry to enable hot-join acknowledgments and hands
hot-join events to the i3c core for device enumeration.

> diff --git a/drivers/i3c/master/amd-i3c-master.c b/drivers/i3c/master/amd-i3c-master.c
> index 8a8ab3cd2fa40..6214fef14081f 100644
> --- a/drivers/i3c/master/amd-i3c-master.c
> +++ b/drivers/i3c/master/amd-i3c-master.c
> @@ -55,9 +55,11 @@
>  #define XI3C_CR_EN_MASK				BIT(0)	/* Core Enable */
>  #define XI3C_CR_RESUME_MASK			BIT(2)	/* Core Resume */
>  #define XI3C_CR_IBI_MASK			BIT(3)	/* IBI ACK enable */
> +#define XI3C_CR_HJ_MASK				BIT(4)	/* Hot-Join ACK enable */

[Severity: High]
Does this patch also need to suppress Hot-Join ACKs during active transfers?

Looking at xi3c_master_suppress_ibi_for_xfer(), it suppresses IBI ACKs to
prevent the controller from ACKing an IBI and preempting the master's
transfer:

	cr = ioread32(master->membase + XI3C_CR_OFFSET);
	if (suppress || !master->ibi.enabled_count)
		cr &= ~XI3C_CR_IBI_MASK;
	else
		cr |= XI3C_CR_IBI_MASK;
	iowrite32(cr, master->membase + XI3C_CR_OFFSET);

Since Hot-Joins use the same machinery, leaving XI3C_CR_HJ_MASK enabled
during a transfer allows the controller to ACK a Hot-Join request
mid-transfer. Could this abort the ongoing transfer and potentially
confuse the response FIFO state?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260908094257.3196120-1-shubhamsanjay.patil@amd.com?part=3



More information about the linux-i3c mailing list