RE: [alsa-devel] [RFC/RFT PATCH] ASoC: topology: Improve backwards compatibility with v4 topology files

From: Lin, Mengdong
Date: Fri May 25 2018 - 08:00:01 EST


> -----Original Message-----
> From: alsa-devel-bounces@xxxxxxxxxxxxxxxx [mailto:alsa-devel-bounces@alsa-
> project.org] On Behalf Of Mark Brown
> Sent: Thursday, May 24, 2018 11:12 PM

> On Thu, May 24, 2018 at 07:55:06AM -0700, Guenter Roeck wrote:
> > On Thu, May 24, 2018 at 7:18 AM Mark Brown <broonie@xxxxxxxxxx> wrote:
>
> Your mail client formatting seems to be broken, the word wrapping is really
> funky (it looks like it's breaking longer than 80 column lines in the middle of
> paragraphs rather than flowing paragraphs within 80 columns).
>
> > > > I don't mind adding the structures to
> > > > sound/soc/intel/skylake/skl-tplg-interface.h,
> > > > but it seems a bit out of scope to tie this with moving the file
> > > > to include/uapi/sound.
> > > > I think that should be a separate discussion.
>
> > > Is there some reason not to just do it while we're looking at this?
> > > I don't see why we wouldn't want to do this.
>
> > I don't mind doing this. However, keeping the change local and in a
> > single patch would make it easier to backport, and I think that the
> > ability to backport would be essential to get more than one-person
> > test coverage. I also would have liked feedback from someone at Intel,
> > at least for the Skylake specific structures.
>
> Oh, of course - I'm just saying we should do this, not that everything needs to be
> in one patch. Obviously the code motion would be a separate patch.
>
> > Anyway, what file do you have in mind for the structure definitions,
> > both for the ones in soc-tolopogy.c and the ones needed in
> > skl-topology.c ? Everything into asoc.h, or something else ?
>
> All of those that can appear in a firmware file, I don't super care where they end
> up but possibly a separate header file or files to the kernel specific ones as they
> might get used with Windows.

Please put the Skylake specific structures in a separate header file, not in asoc.h.

The file asoc.h is for generic topology structures which are platform independent. The topology code in alsa-lib never parses the platform specific structures.

The Skylake specific structures are needed by vendor applications like Intel topology tool (ITT) to define topology for different platforms. The applications can include both asoc.h, skl-tplg-interface.h and other device specific headers.

Thanks
Mengdong