The patch
ASoC: topology: Add missing clock gating parameter when parsing hw_configs
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 bdb86c40e8c5d2abe2ec7be964d621c1b7c27081 Mon Sep 17 00:00:00 2001
From: Kirill Marinushkin k.marinushkin@gmail.com Date: Mon, 19 Feb 2018 21:36:35 +0100 Subject: [PATCH] ASoC: topology: Add missing clock gating parameter when parsing hw_configs
Clock gating parameter is a part of `dai_fmt`. It is supported by `alsa-lib` when creating a topology binary file, but ignored by kernel when loading this topology file.
After applying this commit, the clock gating parameter is not ignored any more. The old behaviour is not broken, as by default the parameter value is 0.
For example, the following config, based on alsa-lib/src/conf/topology/broadwell/broadwell.conf, is now supported:
~~~~ SectionHWConfig."CodecHWConfig" { id "1" format "I2S" # physical audio format. bclk "master" # Platform is master of bit clock fsync "master" # platform is master of fsync pm_gate_clocks "true" # clock can be gated }
SectionLink."Codec" {
# used for binding to the physical link id "0"
hw_configs [ "CodecHWConfig" ]
default_hw_conf_id "1" } ~~~~
Signed-off-by: Kirill Marinushkin k.marinushkin@gmail.com Cc: Takashi Sakamoto o-takashi@sakamocchi.jp Cc: Liam Girdwood lgirdwood@gmail.com Cc: Mark Brown broonie@kernel.org Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: alsa-devel@alsa-project.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Mark Brown broonie@kernel.org --- sound/soc/soc-topology.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c index 01a50413c66f..bac70676a6b4 100644 --- a/sound/soc/soc-topology.c +++ b/sound/soc/soc-topology.c @@ -1981,6 +1981,13 @@ static void set_link_hw_format(struct snd_soc_dai_link *link,
link->dai_fmt = hw_config->fmt & SND_SOC_DAIFMT_FORMAT_MASK;
+ /* clock gating */ + if (hw_config->clock_gated == SND_SOC_TPLG_DAI_CLK_GATE_GATED) + link->dai_fmt |= SND_SOC_DAIFMT_GATED; + else if (hw_config->clock_gated == + SND_SOC_TPLG_DAI_CLK_GATE_CONT) + link->dai_fmt |= SND_SOC_DAIFMT_CONT; + /* clock signal polarity */ invert_bclk = hw_config->invert_bclk; invert_fsync = hw_config->invert_fsync;