diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2023-08-22 23:50:36 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2023-08-23 13:53:26 +0100 |
commit | d059cd40aea6deae716bc6588f24e7b6b421f822 (patch) | |
tree | 7113c1f1dc8ca7b885449d58b1b870e5c6dd1722 | |
parent | bd4cee2fdf69b56c2bf3e7ec7c2e12b81e08005c (diff) |
ASoC: rsnd: setup clock-out only when all conditions are right
Current adg.c doesn't assume that requested clock out divide condition
doesn't match. In such case, it will indicate strange message, and will
register NULL clock, etc. It is just a DT setting miss, but is
confusable. This patch check all conditions for it.
Reported-by: Vincenzo De Michele <vincenzo.michele@davinci.de>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87lee2zlf7.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/sh/rcar/adg.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index c490d43aa18c..919339b75a25 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c @@ -607,6 +607,10 @@ static int rsnd_adg_get_clkout(struct rsnd_priv *priv) } } + if (!(adg->brg_rate[ADG_HZ_48] && req_Hz[ADG_HZ_48]) && + !(adg->brg_rate[ADG_HZ_441] && req_Hz[ADG_HZ_441])) + goto rsnd_adg_get_clkout_end; + if (approximate) dev_info(dev, "It uses CLK_I as approximate rate"); |