Message ID | 1532082427-4912-1-git-send-email-puneethx.prabhu@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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 */ >
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 */