[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1266ac89-cedc-24d9-3899-0aca4e0e05fa@gmail.com>
Date: Tue, 20 Feb 2018 18:07:20 +0100
From: Kirill Marinushkin <k.marinushkin@...il.com>
To: linux-kernel@...r.kernel.org
Cc: Liam Girdwood <lgirdwood@...il.com>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>, alsa-devel@...a-project.org
Subject: Re: [PATCH 2/2] ASoC: topology: Add missing clock gating parameter
when parsing hw_configs
On 02/19/18 07:05, Kirill Marinushkin wrote:
> 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_cont_clock "true" # clock is continuous, and can not 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@...il.com>
> Cc: Liam Girdwood <lgirdwood@...il.com>
> Cc: Mark Brown <broonie@...nel.org>
> Cc: Jaroslav Kysela <perex@...ex.cz>
> Cc: Takashi Iwai <tiwai@...e.com>
> Cc: alsa-devel@...a-project.org
> Cc: linux-kernel@...r.kernel.org
> ---
> sound/soc/soc-topology.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
> index 01a50413c66f..21bd4f96348d 100644
> --- a/sound/soc/soc-topology.c
> +++ b/sound/soc/soc-topology.c
> @@ -1981,6 +1981,12 @@ 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_cont)
> + link->dai_fmt |= SND_SOC_DAIFMT_CONT;
> + else
> + link->dai_fmt |= SND_SOC_DAIFMT_GATED;
> +
> /* clock signal polarity */
> invert_bclk = hw_config->invert_bclk;
> invert_fsync = hw_config->invert_fsync;
This patch is outdated. Patch v2 is sent in a different thread to replace it.
Best Regards,
Kirill
Powered by blists - more mailing lists