drivers/spi/spi-s3c64xx.c | 2 ++ 1 file changed, 2 insertions(+)
When SPI loopback transfer is performed, S3C64XX_SPI_MODE_SELF_LOOPBACK
bit still remained. It works as loopback even if the next transfer is
not spi loopback mode.
If not SPI_LOOP, needs to clear S3C64XX_SPI_MODE_SELF_LOOPBACK bit.
Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
---
drivers/spi/spi-s3c64xx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index fd55697144cc..b6c2659a66ca 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -684,6 +684,8 @@ static int s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd)
if ((sdd->cur_mode & SPI_LOOP) && sdd->port_conf->has_loopback)
val |= S3C64XX_SPI_MODE_SELF_LOOPBACK;
+ else
+ val &= ~S3C64XX_SPI_MODE_SELF_LOOPBACK;
writel(val, regs + S3C64XX_SPI_MODE_CFG);
--
2.17.1
Hi Jaewon,
> -----Original Message-----
> From: Jaewon Kim <jaewon02.kim@samsung.com>
> Sent: Tuesday, July 11, 2023 5:20 PM
> To: Andi Shyti <andi.shyti@kernel.org>; Mark Brown <broonie@kernel.org>;
> Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>; Alim Akhtar
> <alim.akhtar@samsung.com>
> Cc: linux-spi@vger.kernel.org; linux-samsung-soc@vger.kernel.org; linux-
> arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; Chanho Park
> <chanho61.park@samsung.com>; Jaewon Kim <jaewon02.kim@samsung.com>
> Subject: [PATCH] spi: s3c64xx: clear loopback bit after loopback test
>
> When SPI loopback transfer is performed, S3C64XX_SPI_MODE_SELF_LOOPBACK
> bit still remained. It works as loopback even if the next transfer is not
> spi loopback mode.
> If not SPI_LOOP, needs to clear S3C64XX_SPI_MODE_SELF_LOOPBACK bit.
>
In order for this patch to be sent to the stable tree, below tag is required.
Fixes: ffb7bcd3b27e ("spi: s3c64xx: support loopback mode")
Otherwise, looks good to me.
Reviewed-by: Chanho Park <chanho61.park@samsung.com>
Best Regards,
Chanho Park
> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
> ---
> drivers/spi/spi-s3c64xx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c index
> fd55697144cc..b6c2659a66ca 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -684,6 +684,8 @@ static int s3c64xx_spi_config(struct
> s3c64xx_spi_driver_data *sdd)
>
> if ((sdd->cur_mode & SPI_LOOP) && sdd->port_conf->has_loopback)
> val |= S3C64XX_SPI_MODE_SELF_LOOPBACK;
> + else
> + val &= ~S3C64XX_SPI_MODE_SELF_LOOPBACK;
>
> writel(val, regs + S3C64XX_SPI_MODE_CFG);
>
> --
> 2.17.1
Hi Jaewon,
On Tue, Jul 11, 2023 at 05:20:20PM +0900, Jaewon Kim wrote:
> When SPI loopback transfer is performed, S3C64XX_SPI_MODE_SELF_LOOPBACK
> bit still remained. It works as loopback even if the next transfer is
> not spi loopback mode.
> If not SPI_LOOP, needs to clear S3C64XX_SPI_MODE_SELF_LOOPBACK bit.
>
> Signed-off-by: Jaewon Kim <jaewon02.kim@samsung.com>
with the change suggested by Chanho:
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Mark, can you add the
Fixes: ffb7bcd3b27e ("spi: s3c64xx: support loopback mode")
tag or should Jaewon resend?
Thanks,
Andi
> ---
> drivers/spi/spi-s3c64xx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
> index fd55697144cc..b6c2659a66ca 100644
> --- a/drivers/spi/spi-s3c64xx.c
> +++ b/drivers/spi/spi-s3c64xx.c
> @@ -684,6 +684,8 @@ static int s3c64xx_spi_config(struct s3c64xx_spi_driver_data *sdd)
>
> if ((sdd->cur_mode & SPI_LOOP) && sdd->port_conf->has_loopback)
> val |= S3C64XX_SPI_MODE_SELF_LOOPBACK;
> + else
> + val &= ~S3C64XX_SPI_MODE_SELF_LOOPBACK;
>
> writel(val, regs + S3C64XX_SPI_MODE_CFG);
>
> --
> 2.17.1
>
On Wed, Jul 12, 2023 at 12:19:30AM +0200, Andi Shyti wrote:
> with the change suggested by Chanho:
> Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
> Mark, can you add the
>
> Fixes: ffb7bcd3b27e ("spi: s3c64xx: support loopback mode")
>
> tag or should Jaewon resend?
It's already in CI with that, b4 picks up fixes tags.
On Tue, 11 Jul 2023 17:20:20 +0900, Jaewon Kim wrote:
> When SPI loopback transfer is performed, S3C64XX_SPI_MODE_SELF_LOOPBACK
> bit still remained. It works as loopback even if the next transfer is
> not spi loopback mode.
> If not SPI_LOOP, needs to clear S3C64XX_SPI_MODE_SELF_LOOPBACK bit.
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[1/1] spi: s3c64xx: clear loopback bit after loopback test
commit: 9ec3c5517e22a12d2ff1b71e844f7913641460c6
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
© 2016 - 2026 Red Hat, Inc.