[PATCH v2 0/2] spi: sun6i: Fix chip select handling around autosuspend
Kevin Mehall
km at kevinmehall.net
Thu Apr 23 10:39:59 PDT 2026
Move the initialization of the SUN6I_TFR_CTL_REG bits out of
sun6i_spi_transfer_one() into earlier callbacks to fix two bugs:
- With a native chip select, the setup_delay is not correctly applied to
the first transfer after autosuspend.
- With a GPIO chip select, the CS is asserted before SCK is driven to the
correct initial level per the SPI mode. When the mode is set, it can
cause an extra SCK transition with CS low and corrupt the transfer.
Changes since the previous single patch:
- Move the line that sets `SUN6I_TFR_CTL_CS_MANUAL` into
`sun6i_spi_set_cs()` rather than into `sun6i_spi_prepare_message()`.
This change is now a separate commit.
Kevin Mehall (2):
spi: sun6i: Honor CS setup delay on the first transfer with native CS
spi: sun6i: Set SPI mode in prepare_message
drivers/spi/spi-sun6i.c | 74 +++++++++++++++++++++++++----------------
1 file changed, 45 insertions(+), 29 deletions(-)
base-commit: 028ef9c96e96197026887c0f092424679298aae8
--
2.53.0
More information about the linux-arm-kernel
mailing list