i3c: master: Add inline i3c_readl_fifo() and i3c_writel_fifo()
authorJorge Marques <jorge.marques@analog.com>
Tue, 24 Jun 2025 09:06:04 +0000 (11:06 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 30 Jul 2025 23:21:10 +0000 (01:21 +0200)
commit733b439375b494e8a6950ab47d18a4b615b73cb3
treeb9d6ce488fb3dee6dbee1d46b6e200d3247f2004
parent12aa3e0cb0c6f8d406be00bc9f5d89bfbee7b9d9
i3c: master: Add inline i3c_readl_fifo() and i3c_writel_fifo()

The I3C abstraction expects u8 buffers, but some controllers operate with
a 32-bit bus width FIFO and cannot flag valid bytes individually. To avoid
reading or writing outside the buffer bounds, use 32-bit accesses where
possible and apply memcpy for any remaining bytes

Signed-off-by: Jorge Marques <jorge.marques@analog.com>
Suggested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250624-i3c-writesl-readsl-v3-1-63ccf0870f01@analog.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/internals.h