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

Frank Li Frank.li at nxp.com
Tue Apr 15 09:15:15 PDT 2025


On Tue, Apr 15, 2025 at 01:18:08PM +0800, Stanley Chu wrote:
> From: Stanley Chu <yschu at nuvoton.com>
>
> 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 at nuvoton.com>

Reviewed-by: Frank Li <Frank.Li at nxp.com>

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



More information about the linux-i3c mailing list