[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240507100319.04d8039f@xps-13>
Date: Tue, 7 May 2024 10:03:19 +0200
From: Miquel Raynal <miquel.raynal@...tlin.com>
To: Frank Li <Frank.Li@....com>
Cc: alexandre.belloni@...tlin.com, conor.culhane@...vaco.com,
imx@...ts.linux.dev, linux-i3c@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/3] i3c: Add comment for -EAGAIN in
i3c_device_do_priv_xfers()
Hi Frank,
Frank.Li@....com wrote on Mon, 6 May 2024 12:40:07 -0400:
> In accordance with I3C spec ver 1.1.1 09-Jun-2021, section: 5.1.2.2.3, if
> a target requests hot join (HJ), In-Band Interrupt (IBI), or controller
> role request (CRR) during the emission of an I3C address in
> i3c_device_do_priv_xfers(), the target may win bus arbitration. In such
> cases, it is imperative to notify the I3C client driver and retry
> i3c_device_do_priv_xfers() after some delay.
>
> Signed-off-by: Frank Li <Frank.Li@....com>
> ---
>
> Notes:
> Change from v1 to v2
> - new patch
>
> drivers/i3c/device.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/i3c/device.c b/drivers/i3c/device.c
> index 1a6a8703dbc3a..b04a55a1337d4 100644
> --- a/drivers/i3c/device.c
> +++ b/drivers/i3c/device.c
> @@ -27,6 +27,10 @@
> * This function can sleep and thus cannot be called in atomic context.
> *
> * Return: 0 in case of success, a negative error core otherwise.
> + * -EAGAIN: controller lost address arbitration. Target
> + * (IBI, HJ or controller role request) win the bus. Client
> + * driver need resend this 'xfers' some time later.
needs to resend the 'xfers'
> + * See I3C spec ver 1.1.1 09-Jun-2021. Section: 5.1.2.2.3.
> */
> int i3c_device_do_priv_xfers(struct i3c_device *dev,
> struct i3c_priv_xfer *xfers,
With this little nit,
Reviewed-by: Miquel Raynal <miquel.raynal@...tlin.com>
Thanks,
Miquèl
Powered by blists - more mailing lists