]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
spi: dw: fix wrong RX_SAMPLE_DLY setting after resume
authorJisheng Zhang <jszhang@kernel.org>
Mon, 3 Aug 2026 13:59:25 +0000 (21:59 +0800)
committerMark Brown <broonie@kernel.org>
Tue, 11 Aug 2026 14:15:46 +0000 (15:15 +0100)
On platforms which need a non-zero rx sample delay, the RX_SAMPLE_DLY
reg setting is lost after resume. The reason is that the reg may be
reset to 0 after resuming, but dws->cur_rx_sample_dly doesn't know
this fact. Fix this issue by clearing dws->cur_rx_sample_dly in
dw_spi_shutdown_chip().

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Suggested-by: Mark Brown <broonie@kernel.org>
Link: https://patch.msgid.link/20260803135925.12622-1-jszhang@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-dw.h

index 2f2debc64e7377f1a39b7732692dc0b06beb0897..a9d055f9c5ddb29ede716a83de59083b87d875dc 100644 (file)
@@ -283,6 +283,7 @@ static inline void dw_spi_shutdown_chip(struct dw_spi *dws)
        dw_spi_enable_chip(dws, 0);
        dw_spi_set_clk(dws, 0);
        dws->current_freq = 0;
+       dws->cur_rx_sample_dly = 0;
 }
 
 extern void dw_spi_set_cs(struct spi_device *spi, bool enable);