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

From: Jarkko Nikula
Date: Tue Oct 17 2023 - 02:10:51 EST


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@xxxxxxx>
---
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.