2019-02-04 14:29:19

by Jiada Wang

[permalink] [raw]
Subject: [PATCH] ASoC: rsnd: ssiu: correct shift bit for ssiu9

Currently "0xf << 36" is used to
clear SSIU-9 internal buffer state, which overflows 32-bit value
according to user reference manual, it is always bit4 ~ bit7
of SSI_SYS_STATUS[1,3,5,7] registers indicate
SSIU-9's buffer state, so "0xf << 4" should be used.

This patch fix incorrect shifting issue in SSIU-9 case

Fixes: commit b7169ddea2f2 ("ASoC: rsnd: remove RSND_REG_ from rsnd_reg")

Signed-off-by: Jiada Wang <[email protected]>
---
sound/soc/sh/rcar/ssiu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
index 2f3085a54eba..b11677489a5e 100644
--- a/sound/soc/sh/rcar/ssiu.c
+++ b/sound/soc/sh/rcar/ssiu.c
@@ -79,7 +79,7 @@ static int rsnd_ssiu_init(struct rsnd_mod *mod,
break;
case 9:
for (i = 0; i < 4; i++)
- rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << (id * 4));
+ rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << 4);
break;
}

--
2.19.2



2019-02-05 01:35:59

by Kuninori Morimoto

[permalink] [raw]
Subject: Re: [PATCH] ASoC: rsnd: ssiu: correct shift bit for ssiu9


Hi Jiada

> Currently "0xf << 36" is used to
> clear SSIU-9 internal buffer state, which overflows 32-bit value
> according to user reference manual, it is always bit4 ~ bit7
> of SSI_SYS_STATUS[1,3,5,7] registers indicate
> SSIU-9's buffer state, so "0xf << 4" should be used.
>
> This patch fix incorrect shifting issue in SSIU-9 case
>
> Fixes: commit b7169ddea2f2 ("ASoC: rsnd: remove RSND_REG_ from rsnd_reg")
>
> Signed-off-by: Jiada Wang <[email protected]>
> ---

Thank you for your patch

Acked-by: Kuninori Morimoto <[email protected]>

> sound/soc/sh/rcar/ssiu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
> index 2f3085a54eba..b11677489a5e 100644
> --- a/sound/soc/sh/rcar/ssiu.c
> +++ b/sound/soc/sh/rcar/ssiu.c
> @@ -79,7 +79,7 @@ static int rsnd_ssiu_init(struct rsnd_mod *mod,
> break;
> case 9:
> for (i = 0; i < 4; i++)
> - rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << (id * 4));
> + rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << 4);
> break;
> }
>
> --
> 2.19.2
>

2019-02-07 12:17:31

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: rsnd: ssiu: correct shift bit for ssiu9" to the asoc tree

The patch

ASoC: rsnd: ssiu: correct shift bit for ssiu9

has been applied to the asoc tree at

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git

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

From 76379dfbfd7c8fd7dd29eea3f828cf85c884829e Mon Sep 17 00:00:00 2001
From: Jiada Wang <[email protected]>
Date: Mon, 4 Feb 2019 22:41:05 +0900
Subject: [PATCH] ASoC: rsnd: ssiu: correct shift bit for ssiu9

Currently "0xf << 36" is used to
clear SSIU-9 internal buffer state, which overflows 32-bit value
according to user reference manual, it is always bit4 ~ bit7
of SSI_SYS_STATUS[1,3,5,7] registers indicate
SSIU-9's buffer state, so "0xf << 4" should be used.

This patch fix incorrect shifting issue in SSIU-9 case

Fixes: commit b7169ddea2f2 ("ASoC: rsnd: remove RSND_REG_ from rsnd_reg")

Signed-off-by: Jiada Wang <[email protected]>
Acked-by: Kuninori Morimoto <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
sound/soc/sh/rcar/ssiu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c
index c5934adcfd01..c74991dd18ab 100644
--- a/sound/soc/sh/rcar/ssiu.c
+++ b/sound/soc/sh/rcar/ssiu.c
@@ -79,7 +79,7 @@ static int rsnd_ssiu_init(struct rsnd_mod *mod,
break;
case 9:
for (i = 0; i < 4; i++)
- rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << (id * 4));
+ rsnd_mod_write(mod, SSI_SYS_STATUS((i * 2) + 1), 0xf << 4);
break;
}

--
2.20.1