Re: [PATCH v1 2/2] i3c: master: svc: Emit STOP asap in the IBI transaction

From: Frank Li
Date: Tue Apr 15 2025 - 12:16:15 EST


On Tue, Apr 15, 2025 at 01:18:08PM +0800, Stanley Chu wrote:
> From: Stanley Chu <yschu@xxxxxxxxxxx>
>
> Queuing the IBI request does not need to be done earlier than emitting
> the STOP. Emitting STOP immediately after receiving the IBI request can
> complete the IBI transaction earlier and return the bus to idle.
>
> Signed-off-by: Stanley Chu <yschu@xxxxxxxxxxx>

Reviewed-by: Frank Li <Frank.Li@xxxxxxx>

> ---
> drivers/i3c/master/svc-i3c-master.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
> index 7ceaf3ec45bb..9b23239ad8db 100644
> --- a/drivers/i3c/master/svc-i3c-master.c
> +++ b/drivers/i3c/master/svc-i3c-master.c
> @@ -577,11 +577,11 @@ static void svc_i3c_master_ibi_isr(struct svc_i3c_master *master)
> /* Handle the non critical tasks */
> switch (ibitype) {
> case SVC_I3C_MSTATUS_IBITYPE_IBI:
> + svc_i3c_master_emit_stop(master);
> if (dev) {
> i3c_master_queue_ibi(dev, master->ibi.tbq_slot);
> master->ibi.tbq_slot = NULL;
> }
> - svc_i3c_master_emit_stop(master);
> break;
> case SVC_I3C_MSTATUS_IBITYPE_HOT_JOIN:
> svc_i3c_master_emit_stop(master);
> --
> 2.34.1
>