ASoC: rsnd: do error check after rsnd_channel_normalization()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Wed, 18 Sep 2019 06:02:38 +0000 (15:02 +0900)
committerMark Brown <broonie@kernel.org>
Wed, 18 Sep 2019 17:29:52 +0000 (18:29 +0100)
SSI need to use rsnd_channel_normalization() for TDM-split mode,
thus, channel check need to do after that.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/874l1aw39d.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/ssi.c

index f6a7466622ea6b610e9c12d4a40658ed80cbd093..fc5d089868dfc084cfa4e3234259a57402cd8d5e 100644 (file)
@@ -286,6 +286,11 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod,
        if (rsnd_ssi_is_multi_slave(mod, io))
                return 0;
 
+       if (rsnd_runtime_is_tdm_split(io))
+               chan = rsnd_io_converted_chan(io);
+
+       chan = rsnd_channel_normalization(chan);
+
        if (ssi->usrcnt > 0) {
                if (ssi->rate != rate) {
                        dev_err(dev, "SSI parent/child should use same rate\n");
@@ -300,11 +305,6 @@ static int rsnd_ssi_master_clk_start(struct rsnd_mod *mod,
                return 0;
        }
 
-       if (rsnd_runtime_is_tdm_split(io))
-               chan = rsnd_io_converted_chan(io);
-
-       chan = rsnd_channel_normalization(chan);
-
        main_rate = rsnd_ssi_clk_query(rdai, rate, chan, &idx);
        if (!main_rate) {
                dev_err(dev, "unsupported clock rate\n");