RE: [PATCH v2] spi: rzv2h-rspi: Fix SPDR read access width for 16-bit RX
From: Fabrizio Castro
Date: Wed Jun 10 2026 - 09:01:32 EST
> From: Felix Gu <ustc.gu@xxxxxxxxx>
> Sent: 10 June 2026 13:08
> To: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>; Mark Brown <broonie@xxxxxxxxxx>; geert
> <geert@xxxxxxxxxxxxxx>
> Cc: linux-spi@xxxxxxxxxxxxxxx; linux-renesas-soc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Felix
> Gu <ustc.gu@xxxxxxxxx>
> Subject: [PATCH v2] spi: rzv2h-rspi: Fix SPDR read access width for 16-bit RX
>
> The RZ/V2H hardware manual (section 7.5.2.2.1) specifies that read access
> size for the SPI Data Register (SPDR) are fixed at 32 bits. The
> RZV2H_RSPI_RX macro for the 16-bit data path used readw(), violating
> this requirement.
>
> Switch to readl() for the 16-bit RX path to conform to the hardware
> specification.
>
> Fixes: 8b61c8919dff ("spi: Add driver for the RZ/V2H(P) RSPI IP")
> Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
> Signed-off-by: Felix Gu <ustc.gu@xxxxxxxxx>
Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>
> ---
> Changes in v2:
> - Fix comments from Geert.
> - Link to v1: https://patch.msgid.link/20260605-rzv2h-rspi-v1-1-c1d5ed562249@xxxxxxxxx
>
> To: Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>
> To: Mark Brown <broonie@xxxxxxxxxx>
> Cc: linux-spi@xxxxxxxxxxxxxxx
> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> drivers/spi/spi-rzv2h-rspi.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-rzv2h-rspi.c b/drivers/spi/spi-rzv2h-rspi.c
> index 1655efda7d20..6ed3fad873b8 100644
> --- a/drivers/spi/spi-rzv2h-rspi.c
> +++ b/drivers/spi/spi-rzv2h-rspi.c
> @@ -135,8 +135,9 @@ static inline void rzv2h_rspi_rx_##type(struct rzv2h_rspi_priv *rspi, \
> RZV2H_RSPI_TX(writel, u32)
> RZV2H_RSPI_TX(writew, u16)
> RZV2H_RSPI_TX(writeb, u8)
> +/* The read access size for RSPI_SPDR is fixed at 32 bits */
> RZV2H_RSPI_RX(readl, u32)
> -RZV2H_RSPI_RX(readw, u16)
> +RZV2H_RSPI_RX(readl, u16)
> RZV2H_RSPI_RX(readl, u8)
>
> static void rzv2h_rspi_reg_rmw(const struct rzv2h_rspi_priv *rspi,
>
> ---
> base-commit: a225caacc36546a09586e3ece36c0313146e7da9
> change-id: 20260605-rzv2h-rspi-3c8dd168fb72
>
> Best regards,
> --
> Felix Gu <ustc.gu@xxxxxxxxx>