[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