| From f9bc536ea61a4f343d3bd0fe40879dc282ec90e0 Mon Sep 17 00:00:00 2001 |
| From: Jiada Wang <jiada_wang@mentor.com> |
| Date: Tue, 28 Nov 2017 16:05:13 +0900 |
| Subject: [PATCH 0153/1795] ASoC: rsnd: ssiu: clear SSI_MODE for non TDM |
| Extended modes |
| |
| register SSI_MODE is set when SSI works in TDM Extended, |
| but it isn't reset when SSI starts to work in other modes, |
| thus causes issues. |
| |
| This patch clearss SSI_MODE register when SSI works in modes |
| other than TDM Extended. |
| |
| Fixes: 186fadc132f0 ("ASoC: rsnd: add TDM Extend Mode support") |
| Signed-off-by: Jiada Wang <jiada_wang@mentor.com> |
| Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit a91d7fb97092d6b840af5899ded3b389603fd7f1) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> |
| --- |
| sound/soc/sh/rcar/ssiu.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/sound/soc/sh/rcar/ssiu.c b/sound/soc/sh/rcar/ssiu.c |
| index 4d948757d300..6ff8a36c2c82 100644 |
| --- a/sound/soc/sh/rcar/ssiu.c |
| +++ b/sound/soc/sh/rcar/ssiu.c |
| @@ -125,6 +125,7 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, |
| { |
| int hdmi = rsnd_ssi_hdmi_port(io); |
| int ret; |
| + u32 mode = 0; |
| |
| ret = rsnd_ssiu_init(mod, io, priv); |
| if (ret < 0) |
| @@ -136,9 +137,11 @@ static int rsnd_ssiu_init_gen2(struct rsnd_mod *mod, |
| * see |
| * rsnd_ssi_config_init() |
| */ |
| - rsnd_mod_write(mod, SSI_MODE, 0x1); |
| + mode = 0x1; |
| } |
| |
| + rsnd_mod_write(mod, SSI_MODE, mode); |
| + |
| if (rsnd_ssi_use_busif(io)) { |
| rsnd_mod_write(mod, SSI_BUSIF_ADINR, |
| rsnd_get_adinr_bit(mod, io) | |
| -- |
| 2.19.0 |
| |