Re: [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
On 02/19/18 07:47, Takashi Sakamoto wrote: > Hi, > > On Feb 19 2018 15:05, Kirill Marinushkin wrote: >> In kernel `soc-dai.h`, DAI clock gating is defined as following: >> >> >> \#define SND_SOC_DAIFMT_CONT (1 << 4) /* continuous clock */ >> \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ >> >> >> Therefore, the corresponding field of struct snd_soc_tplg_hw_config should >> be inverted compared to the current logic: >> >> clock_count = 1 => SND_SOC_DAIFMT_CONT >> clock_count = 0 => SND_SOC_DAIFMT_GATED >> >> Signed-off-by: Kirill Marinushkin <k.marinush...@gmail.com> >> Cc: Jaroslav Kysela <pe...@perex.cz> >> Cc: Takashi Iwai <ti...@suse.com> >> Cc: alsa-de...@alsa-project.org >> Cc: linux-kernel@vger.kernel.org >> --- >> include/uapi/sound/asoc.h | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h >> index 69c37ecbff7e..10188850dede 100644 >> --- a/include/uapi/sound/asoc.h >> +++ b/include/uapi/sound/asoc.h >> @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { >> __le32 size; /* in bytes of this structure */ >> __le32 id; /* unique ID - - used to match */ >> __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ >> - __u8 clock_gated; /* 1 if clock can be gated to save power */ >> + __u8 clock_cont; /* 1 if clock is continuous, and can not be >> + * gated to save power >> + */ >> __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ >> __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ >> __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ > > This structure was added at a commit 676c6b5208f7 ('ASoC: topology: ABI - > Update physical DAI link configuration for version 5') in a development > period for v4.10. > > This file is a part of UAPI, thus this structure has already been exposed to > application developers. Any change can break userspace applications in a > point of backward compatibility for this subsystem. > > It's better for you to investigate another solution for your two > patches[1][2]. > > > [1] [alsa-devel] [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont > in snd_soc_tplg_hw_config > http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132258.html > [2] [alsa-devel] [PATCH 2/2] ASoC: topology: Add missing clock gating > parameter when parsing hw_configs > http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132259.html > > > Regards > > Takashi Sakamoto Hello Takashi Sakamoto, I will propose a backwards-compatible solution as a PATCH v2. Best Regards, Kirill
Re: [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
On 02/19/18 07:47, Takashi Sakamoto wrote: > Hi, > > On Feb 19 2018 15:05, Kirill Marinushkin wrote: >> In kernel `soc-dai.h`, DAI clock gating is defined as following: >> >> >> \#define SND_SOC_DAIFMT_CONT (1 << 4) /* continuous clock */ >> \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ >> >> >> Therefore, the corresponding field of struct snd_soc_tplg_hw_config should >> be inverted compared to the current logic: >> >> clock_count = 1 => SND_SOC_DAIFMT_CONT >> clock_count = 0 => SND_SOC_DAIFMT_GATED >> >> Signed-off-by: Kirill Marinushkin >> Cc: Jaroslav Kysela >> Cc: Takashi Iwai >> Cc: alsa-de...@alsa-project.org >> Cc: linux-kernel@vger.kernel.org >> --- >> include/uapi/sound/asoc.h | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h >> index 69c37ecbff7e..10188850dede 100644 >> --- a/include/uapi/sound/asoc.h >> +++ b/include/uapi/sound/asoc.h >> @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { >> __le32 size; /* in bytes of this structure */ >> __le32 id; /* unique ID - - used to match */ >> __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ >> - __u8 clock_gated; /* 1 if clock can be gated to save power */ >> + __u8 clock_cont; /* 1 if clock is continuous, and can not be >> + * gated to save power >> + */ >> __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ >> __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ >> __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ > > This structure was added at a commit 676c6b5208f7 ('ASoC: topology: ABI - > Update physical DAI link configuration for version 5') in a development > period for v4.10. > > This file is a part of UAPI, thus this structure has already been exposed to > application developers. Any change can break userspace applications in a > point of backward compatibility for this subsystem. > > It's better for you to investigate another solution for your two > patches[1][2]. > > > [1] [alsa-devel] [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont > in snd_soc_tplg_hw_config > http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132258.html > [2] [alsa-devel] [PATCH 2/2] ASoC: topology: Add missing clock gating > parameter when parsing hw_configs > http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132259.html > > > Regards > > Takashi Sakamoto Hello Takashi Sakamoto, I will propose a backwards-compatible solution as a PATCH v2. Best Regards, Kirill
Re: [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
Hi, On Feb 19 2018 15:05, Kirill Marinushkin wrote: In kernel `soc-dai.h`, DAI clock gating is defined as following: \#define SND_SOC_DAIFMT_CONT(1 << 4) /* continuous clock */ \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ Therefore, the corresponding field of struct snd_soc_tplg_hw_config should be inverted compared to the current logic: clock_count = 1 => SND_SOC_DAIFMT_CONT clock_count = 0 => SND_SOC_DAIFMT_GATED Signed-off-by: Kirill Marinushkin <k.marinush...@gmail.com> Cc: Jaroslav Kysela <pe...@perex.cz> Cc: Takashi Iwai <ti...@suse.com> Cc: alsa-de...@alsa-project.org Cc: linux-kernel@vger.kernel.org --- include/uapi/sound/asoc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index 69c37ecbff7e..10188850dede 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { __le32 size;/* in bytes of this structure */ __le32 id; /* unique ID - - used to match */ __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ - __u8 clock_gated; /* 1 if clock can be gated to save power */ + __u8 clock_cont;/* 1 if clock is continuous, and can not be +* gated to save power +*/ __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ This structure was added at a commit 676c6b5208f7 ('ASoC: topology: ABI - Update physical DAI link configuration for version 5') in a development period for v4.10. This file is a part of UAPI, thus this structure has already been exposed to application developers. Any change can break userspace applications in a point of backward compatibility for this subsystem. It's better for you to investigate another solution for your two patches[1][2]. [1] [alsa-devel] [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132258.html [2] [alsa-devel] [PATCH 2/2] ASoC: topology: Add missing clock gating parameter when parsing hw_configs http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132259.html Regards Takashi Sakamoto
Re: [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
Hi, On Feb 19 2018 15:05, Kirill Marinushkin wrote: In kernel `soc-dai.h`, DAI clock gating is defined as following: \#define SND_SOC_DAIFMT_CONT(1 << 4) /* continuous clock */ \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ Therefore, the corresponding field of struct snd_soc_tplg_hw_config should be inverted compared to the current logic: clock_count = 1 => SND_SOC_DAIFMT_CONT clock_count = 0 => SND_SOC_DAIFMT_GATED Signed-off-by: Kirill Marinushkin Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: alsa-de...@alsa-project.org Cc: linux-kernel@vger.kernel.org --- include/uapi/sound/asoc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index 69c37ecbff7e..10188850dede 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { __le32 size;/* in bytes of this structure */ __le32 id; /* unique ID - - used to match */ __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ - __u8 clock_gated; /* 1 if clock can be gated to save power */ + __u8 clock_cont;/* 1 if clock is continuous, and can not be +* gated to save power +*/ __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ This structure was added at a commit 676c6b5208f7 ('ASoC: topology: ABI - Update physical DAI link configuration for version 5') in a development period for v4.10. This file is a part of UAPI, thus this structure has already been exposed to application developers. Any change can break userspace applications in a point of backward compatibility for this subsystem. It's better for you to investigate another solution for your two patches[1][2]. [1] [alsa-devel] [PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132258.html [2] [alsa-devel] [PATCH 2/2] ASoC: topology: Add missing clock gating parameter when parsing hw_configs http://mailman.alsa-project.org/pipermail/alsa-devel/2018-February/132259.html Regards Takashi Sakamoto
[PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
In kernel `soc-dai.h`, DAI clock gating is defined as following: \#define SND_SOC_DAIFMT_CONT(1 << 4) /* continuous clock */ \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ Therefore, the corresponding field of struct snd_soc_tplg_hw_config should be inverted compared to the current logic: clock_count = 1 => SND_SOC_DAIFMT_CONT clock_count = 0 => SND_SOC_DAIFMT_GATED Signed-off-by: Kirill MarinushkinCc: Jaroslav Kysela Cc: Takashi Iwai Cc: alsa-de...@alsa-project.org Cc: linux-kernel@vger.kernel.org --- include/uapi/sound/asoc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index 69c37ecbff7e..10188850dede 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { __le32 size;/* in bytes of this structure */ __le32 id; /* unique ID - - used to match */ __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ - __u8 clock_gated; /* 1 if clock can be gated to save power */ + __u8 clock_cont;/* 1 if clock is continuous, and can not be +* gated to save power +*/ __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ -- 2.13.6
[PATCH 1/2] ASoC: topology: Rename clock_gated to clock_cont in snd_soc_tplg_hw_config
In kernel `soc-dai.h`, DAI clock gating is defined as following: \#define SND_SOC_DAIFMT_CONT(1 << 4) /* continuous clock */ \#define SND_SOC_DAIFMT_GATED (0 << 4) /* clock is gated */ Therefore, the corresponding field of struct snd_soc_tplg_hw_config should be inverted compared to the current logic: clock_count = 1 => SND_SOC_DAIFMT_CONT clock_count = 0 => SND_SOC_DAIFMT_GATED Signed-off-by: Kirill Marinushkin Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: alsa-de...@alsa-project.org Cc: linux-kernel@vger.kernel.org --- include/uapi/sound/asoc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index 69c37ecbff7e..10188850dede 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -312,7 +312,9 @@ struct snd_soc_tplg_hw_config { __le32 size;/* in bytes of this structure */ __le32 id; /* unique ID - - used to match */ __le32 fmt; /* SND_SOC_DAI_FORMAT_ format value */ - __u8 clock_gated; /* 1 if clock can be gated to save power */ + __u8 clock_cont;/* 1 if clock is continuous, and can not be +* gated to save power +*/ __u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */ __u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */ __u8 bclk_master; /* 1 for master of BCLK, 0 for slave */ -- 2.13.6