mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
i3c: add actual_len in i3c_priv_xfer
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_len" field to indicate how much get by i3c_priv_xfer. Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20231201222532.2431484-4-Frank.Li@nxp.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
05b26c31a4
commit
e5e3df06ac
|
|
@ -54,6 +54,7 @@ enum i3c_hdr_mode {
|
|||
* struct i3c_priv_xfer - I3C SDR private transfer
|
||||
* @rnw: encodes the transfer direction. true for a read, false for a write
|
||||
* @len: transfer length in bytes of the transfer
|
||||
* @actual_len: actual length in bytes are transferred by the controller
|
||||
* @data: input/output buffer
|
||||
* @data.in: input buffer. Must point to a DMA-able buffer
|
||||
* @data.out: output buffer. Must point to a DMA-able buffer
|
||||
|
|
@ -62,6 +63,7 @@ enum i3c_hdr_mode {
|
|||
struct i3c_priv_xfer {
|
||||
u8 rnw;
|
||||
u16 len;
|
||||
u16 actual_len;
|
||||
union {
|
||||
void *in;
|
||||
const void *out;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user