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 <[email protected]>
---
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 <[email protected]>
> Sent: Tuesday, July 11, 2023 5:20 PM
> To: Andi Shyti <[email protected]>; Mark Brown <[email protected]>;
> Krzysztof Kozlowski <[email protected]>; Alim Akhtar
> <[email protected]>
> Cc: [email protected]; [email protected]; linux-
> [email protected]; [email protected]; Chanho Park
> <[email protected]>; Jaewon Kim <[email protected]>
> 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 <[email protected]>
Best Regards,
Chanho Park
> Signed-off-by: Jaewon Kim <[email protected]>
> ---
> 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 <[email protected]>
with the change suggested by Chanho:
Reviewed-by: Andi Shyti <[email protected]>
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 <[email protected]>
> 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