Re: [PATCH 2/5] i3c: add actual in i3c_priv_xfer

Jarkko Nikula
2023-10-17T06:10:51Z

Hi

On 10/16/23 18:46, Frank Li wrote:
> In MIPI I3C Specification:
>
> "Ninth Bit of SDR Target Returned (Read) Data as End-of-Data: In I2C, the
> ninth Data bit from Target to Controller is an ACK by the Controller. By
> contrast, in I3C this bit allows the Target to end a Read, and allows the
> Controller to Abort a Read. In SDR terms, the ninth bit of Read data is
> referred to as the T-Bit (for ‘Transition’)"
>
> I3C allow devices early terminate data transfer. So need "actual" field to
> indicate how much get by i3c_priv_xfer.
>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---
> include/linux/i3c/device.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/i3c/device.h b/include/linux/i3c/device.h
> index 90fa83464f00..f2fa7ee5d96d 100644
> --- a/include/linux/i3c/device.h
> +++ b/include/linux/i3c/device.h
> @@ -66,6 +66,7 @@ struct i3c_priv_xfer {
> void *in;
> const void *out;
> } data;
> + u16 actual;
> enum i3c_error_code err;
> };
>
Would this be more clear if named as "actual_len" and put next after
"len" field in this structure? Also kerneldoc comment is missing.