Instead of writing DRDMCR with 0 first and then overwriting DRDMCR again in case any dummy bytes have to be sent out, write DRDMCR in every case with the amount of dummy bytes that have to be sent out. In case no dummy bytes have to be sent out, the value written into DRDMCR is zero, so no dummy bytes are sent out. No functional change.
Signed-off-by: Marek Vasut <[email protected]> --- Cc: "Cédric Le Goater" <[email protected]> Cc: Hai Pham <[email protected]> Cc: Jagan Teki <[email protected]> Cc: Nobuhiro Iwamatsu <[email protected]> Cc: Paul Barker <[email protected]> Cc: Tom Rini <[email protected]> Cc: William Zhang <[email protected]> Cc: [email protected] --- drivers/spi/renesas_rpc_spi.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/spi/renesas_rpc_spi.c b/drivers/spi/renesas_rpc_spi.c index 749c686a6c4..a2ac5525b90 100644 --- a/drivers/spi/renesas_rpc_spi.c +++ b/drivers/spi/renesas_rpc_spi.c @@ -289,12 +289,10 @@ static int rpc_spi_mem_exec_op(struct spi_slave *spi, smenr |= RPC_DRENR_ADE(0); } - writel(0, priv->regs + RPC_DRDMCR); - if (op->dummy.nbytes) { - writel(8 * op->dummy.nbytes - 1, priv->regs + RPC_DRDMCR); + if (op->dummy.nbytes) smenr |= RPC_DRENR_DME; - } + writel(8 * op->dummy.nbytes - 1, priv->regs + RPC_DRDMCR); writel(0, priv->regs + RPC_DROPR); writel(smenr, priv->regs + RPC_DRENR); -- 2.45.2

