Re: [PATCH v1] spi: microchip-core-qspi: fix setting spi bus clock rate

From: Tudor Ambarus
Date: Wed May 08 2024 - 12:39:16 EST




On 5/8/24 16:46, Conor Dooley wrote:
> From: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
>
> Before ORing the new clock rate with the control register value read
> from the hardware, the existing clock rate needs to be masked off as
> otherwise the existing value will interfere with the new one.
>
> CC: stable@xxxxxxxxxxxxxxx
> Fixes: 8596124c4c1b ("spi: microchip-core-qspi: Add support for microchip fpga qspi controllers")
> Signed-off-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>

Reviewed-by: Tudor Ambarus <tudor.ambarus@xxxxxxxxxx>

> ---
> CC: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> CC: Daire McNamara <daire.mcnamara@xxxxxxxxxxxxx>
> CC: Naga Sureshkumar Relli <nagasuresh.relli@xxxxxxxxxxxxx>
> CC: Mark Brown <broonie@xxxxxxxxxx>
> CC: linux-spi@xxxxxxxxxxxxxxx
> CC: linux-kernel@xxxxxxxxxxxxxxx
> ---
> drivers/spi/spi-microchip-core-qspi.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/spi/spi-microchip-core-qspi.c b/drivers/spi/spi-microchip-core-qspi.c
> index 03d125a71fd9..09f16471c537 100644
> --- a/drivers/spi/spi-microchip-core-qspi.c
> +++ b/drivers/spi/spi-microchip-core-qspi.c
> @@ -283,6 +283,7 @@ static int mchp_coreqspi_setup_clock(struct mchp_coreqspi *qspi, struct spi_devi
> }
>
> control = readl_relaxed(qspi->regs + REG_CONTROL);
> + control &= ~CONTROL_CLKRATE_MASK;
> control |= baud_rate_val << CONTROL_CLKRATE_SHIFT;
> writel_relaxed(control, qspi->regs + REG_CONTROL);
> control = readl_relaxed(qspi->regs + REG_CONTROL);