| From 12bba2f55ba10d05a92e258e359040b318bd0e91 Mon Sep 17 00:00:00 2001 |
| From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Date: Fri, 2 Dec 2016 02:44:23 +0000 |
| Subject: [PATCH 079/299] ASoC: rsnd: rsnd_get_dalign() needs to care SSIU, not |
| SSI |
| |
| SSIU was controlled by SSI before, but |
| commit c7f69ab53("ASoC: rsnd: use mod base common method on SSIU") |
| separated it into ssiu.c |
| |
| But, it didn't care about rsnd_get_dalign() for judging SSI_BUSIF_DALIGN |
| register value which changes the stream data order. |
| This function will be called from cmd/src/ssiu now, but current code |
| still cares ssi, not ssiu. |
| This patch fix it up |
| |
| Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> |
| Tested-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit 3ce2959d162a8f2d69a83582df619a20ff3f6645) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/core.c | 6 +++--- |
| sound/soc/sh/rcar/rsnd.h | 1 + |
| 2 files changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/sound/soc/sh/rcar/core.c |
| +++ b/sound/soc/sh/rcar/core.c |
| @@ -306,7 +306,7 @@ u32 rsnd_get_adinr_bit(struct rsnd_mod * |
| */ |
| u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io) |
| { |
| - struct rsnd_mod *ssi = rsnd_io_to_mod_ssi(io); |
| + struct rsnd_mod *ssiu = rsnd_io_to_mod_ssiu(io); |
| struct rsnd_mod *target; |
| struct snd_pcm_runtime *runtime = rsnd_io_to_runtime(io); |
| u32 val = 0x76543210; |
| @@ -315,11 +315,11 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod |
| if (rsnd_io_is_play(io)) { |
| struct rsnd_mod *src = rsnd_io_to_mod_src(io); |
| |
| - target = src ? src : ssi; |
| + target = src ? src : ssiu; |
| } else { |
| struct rsnd_mod *cmd = rsnd_io_to_mod_cmd(io); |
| |
| - target = cmd ? cmd : ssi; |
| + target = cmd ? cmd : ssiu; |
| } |
| |
| mask <<= runtime->channels * 4; |
| --- a/sound/soc/sh/rcar/rsnd.h |
| +++ b/sound/soc/sh/rcar/rsnd.h |
| @@ -428,6 +428,7 @@ struct rsnd_dai_stream { |
| }; |
| #define rsnd_io_to_mod(io, i) ((i) < RSND_MOD_MAX ? (io)->mod[(i)] : NULL) |
| #define rsnd_io_to_mod_ssi(io) rsnd_io_to_mod((io), RSND_MOD_SSI) |
| +#define rsnd_io_to_mod_ssiu(io) rsnd_io_to_mod((io), RSND_MOD_SSIU) |
| #define rsnd_io_to_mod_ssip(io) rsnd_io_to_mod((io), RSND_MOD_SSIP) |
| #define rsnd_io_to_mod_src(io) rsnd_io_to_mod((io), RSND_MOD_SRC) |
| #define rsnd_io_to_mod_ctu(io) rsnd_io_to_mod((io), RSND_MOD_CTU) |