[alsa-devel] [PATCH] ASoC: topology: Increase SND_SOC_TPLG_NUM_TEXTS to 32
Topology supports maximum of 32 configs for a path whereas kernel can support only 16 configs of a path. So, increase SND_SOC_TPLG_NUM_TEXTS to 32 to support 32 configs for a path.
Signed-off-by: Puneeth Prabhu puneethx.prabhu@intel.com Signed-off-by: Pardha Saradhi K pardha.saradhi.kesapragada@intel.com --- include/uapi/sound/asoc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index a74ca23..5b1411b 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -88,7 +88,7 @@ #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
/* ABI version */ #define SND_SOC_TPLG_ABI_VERSION 0x5 /* current version */
Topology supports upto 32 configs for a path whereas alsatplg can parse a maximum of 16 configs of a path from the topology conf file. So, increase SND_SOC_TPLG_NUM_TEXTS to 32 to support parsing upto 32 configs of a path.
Signed-off-by: Puneeth Prabhu puneethx.prabhu@intel.com Signed-off-by: Pardha Saradhi K pardha.saradhi.kesapragada@intel.com --- include/sound/asoc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/sound/asoc.h b/include/sound/asoc.h index bb8aec7..eb61483 100644 --- a/include/sound/asoc.h +++ b/include/sound/asoc.h @@ -84,7 +84,7 @@ #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
/* ABI version */ #define SND_SOC_TPLG_ABI_VERSION 0x5 /* current version */
On Fri, Jul 20, 2018 at 03:57:07PM +0530, Puneeth Prabhu wrote:
index bb8aec7..eb61483 100644 --- a/include/sound/asoc.h +++ b/include/sound/asoc.h @@ -84,7 +84,7 @@ #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
/* ABI version */ #define SND_SOC_TPLG_ABI_VERSION 0x5 /* current version */
Hrm, we should be getting rid of the duplication here - include the UAPI header in sound/asoc.h rather than duplicating definitions between the two. Otherwise someone might modify something in sound/asoc.h and not realize that the UAPI is affected.
On Fri, Jul 20, 2018 at 03:57:06PM +0530, Puneeth Prabhu wrote:
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
This will increase the size of the texts and values fields of at least snd_soc_tplg_enum_control which on the face of it appears to be an incompatible ABI change, topology files created with the old value will have a different layout for these structures to those created with the new one.
On 7/20/18 7:38 AM, Mark Brown wrote:
On Fri, Jul 20, 2018 at 03:57:06PM +0530, Puneeth Prabhu wrote:
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
This will increase the size of the texts and values fields of at least snd_soc_tplg_enum_control which on the face of it appears to be an incompatible ABI change, topology files created with the old value will have a different layout for these structures to those created with the new one.
Agree with Mark on both points (de-duplication needed and backwards compatibility). If we are going to respin a new version, there are a couple of known limitations we may want to fix as well, such as the limitation to 8 channels and others I will remember once I've had more coffee.
On Fri, Jul 20, 2018 at 08:58:07AM -0500, Pierre-Louis Bossart wrote:
Agree with Mark on both points (de-duplication needed and backwards compatibility). If we are going to respin a new version, there are a couple of known limitations we may want to fix as well, such as the limitation to 8 channels and others I will remember once I've had more coffee.
Actually it looks like the duplication isn't a thing, I can't see the definition the patch was intended to modify in upstream.
On 7/20/18 5:27 AM, Puneeth Prabhu wrote:
Topology supports maximum of 32 configs for a path whereas kernel can support only 16 configs of a path. So, increase SND_SOC_TPLG_NUM_TEXTS to 32 to support 32 configs for a path.
What do you mean by "Topology supports maximum of 32 configs for a path"? I checked in alsa-lib and the same value of 16 is used. I don't get how a change at the kernel level is going to help if the information generated by alsatplg uses a different structure.
I also don't get how you enable this change, the code in skl-topology only accesses the .priv structure in the enum, but if you change the size of the texts array then all your pointers are incorrect so you'd handle garbage data.
Signed-off-by: Puneeth Prabhu puneethx.prabhu@intel.com Signed-off-by: Pardha Saradhi K pardha.saradhi.kesapragada@intel.com
include/uapi/sound/asoc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h index a74ca23..5b1411b 100644 --- a/include/uapi/sound/asoc.h +++ b/include/uapi/sound/asoc.h @@ -88,7 +88,7 @@ #define SND_SOC_TPLG_MAGIC 0x41536F43 /* ASoC */
/* string sizes */ -#define SND_SOC_TPLG_NUM_TEXTS 16 +#define SND_SOC_TPLG_NUM_TEXTS 32
/* ABI version */ #define SND_SOC_TPLG_ABI_VERSION 0x5 /* current version */
participants (3)
-
Mark Brown
-
Pierre-Louis Bossart
-
Puneeth Prabhu