lkml.org 
[lkml]   [2018]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/2] ASoC: topology: Add missing clock gating parameter when parsing hw_configs
From
Date
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@gmail.com>
> 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
> ---
> 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

\
 
 \ /
  Last update: 2018-02-20 18:08    [W:7.876 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site