ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Lars-Peter Clausen <lars@metafoo.de>,
	Mark Brown <broonie@kernel.og>,
	ksummit-discuss@lists.linuxfoundation.org,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Subject: Re: [Ksummit-discuss] Draft agenda for the kernel summit
Date: Wed, 21 Oct 2015 11:24:25 +0100	[thread overview]
Message-ID: <1445423065.2497.27.camel@loki> (raw)
In-Reply-To: <1826524.1PvFo6l3UI@avalon>

On Wed, 2015-10-21 at 03:04 +0300, Laurent Pinchart wrote:
> Hi Liam,
> 
> On Monday 19 October 2015 17:27:56 Liam Girdwood wrote:
> > On Mon, 2015-10-19 at 14:53 +0100, Mark Brown wrote:
> > > On Mon, Oct 19, 2015 at 10:33:04AM -0200, Mauro Carvalho Chehab wrote:
> > > > We did a Media Controller Summit in July. During the summit, it was
> > > > pointed that other subsystems like IIO (Linux Industrial I/O) have
> > > > similar needs and also need to track complex pipelines.
> > > > 
> > > > The goal of this tech topic is to present the MC next generation
> > > > concepts and how the patches to support MC was written, showing some
> > > > pipeline examples.
> > > > 
> > > > The next gen support patches were written in August, with some
> > > > additional patches written after that, and it has support for DVB
> > > > and for one ALSA driver (snd-usb-audio).
> > > > 
> > > > The patches are not merged yet at the media development tree and
> > > > at -next, as one of the core developers of the media controller
> > > > is missing time to review patches. So, while it was originally
> > > > targeted to be merged on Kernel 4.4, it is likely that this will be
> > > > merged only for Kernel 4.5, in order to give him more time to
> > > > review the patchset.
> > > 
> > > One fun thing on this that came up at the audio meeting we had in Dublin
> > > after ELC-E is that there is some desire to export the internal topology
> > > of audio devices to userspace using the same format that we're using to
> > > load topology information for DSP firmwares (see
> > > include/sound/soc-topoloy.h). If we go ahead with that it'd create an
> > > alternative topology ABI, it seems like we should at least consider if
> > > it's worth trying to share things here.
> > > 
> > > I've not had a chance to look at the new media controller work yet, I've
> > > CCed Lars and Liam who have more knowledge in this area.  Unfortunately
> > > I don't think any of the people working directly on this will be at KS
> > > this year.
> > 
> > Just to give a little more background (for any non audio folks), there
> > are many audio DSPs today that can load their topology and other
> > capabilities at runtime depending on the target device (phone, laptop,
> > PC, etc) and the audio use cases.
> > 
> > Our intention is to also have a single audio driver per DSP family (i.e.
> > single skylake audio DSP driver to cover all skylake based devices). The
> > DSP driver would load it's topology data alongside the DSP firmware so
> > that the driver topology (i.e. graph, controls, capabilities) would be
> > aligned with the DSP firmware topology.
> > 
> > The process for creating the topology data involves either compiling a
> > text topology file to the binary topology file (used by the kernel) or
> > using a new ALSA C API to generate the binary topology file (as part of
> > a firmware toolchain). The topology text compiler and C API are both
> > upstream.
> > 
> > We are currently implementing de-compiler support to the userspace
> > compiler in order to convert the binary topology files into text files
> > for debug and development purposes.
> > 
> > Ideally I'd like to be able to dump the topology data using the same
> > format that it used for topology loading. That way we could easily feed
> > them into the de-compiler for development/debug.
> > 
> > Having a simple mechanism for dumping topology data is important as we
> > will need to be able to easily dump this data on Android and Chrome
> > alongside regular Linux for development and debug purposes. i.e.
> > cat /sys/some/dump/file > audio_topology
> > 
> > I'm also supportive of having a higher level and more elegant topology
> > query interface for non kernel/firmware developers using media
> > controller.
> > 
> > What I'd like to propose is that we support both mechanisms for dumping
> > the audio topology data. :-
> > 
> > 1) Simple file dump using same format that topology is loaded. Used by
> > kernel/firmware developers only when media controller userspace not
> > available. Enabled by kernel Kconfig debug option.
> 
> I wouldn't be against an option to dump the topology of MC devices through a 
> file to capture the topology on a remote system that doesn't have the 
> necessary tools installed and analyze it on a development machine. I'm however 
> not saying that such a feature should be a hard requirement for MC as I 
> haven't evaluated the complexity yet. Using the same format as the ALSA DSP 
> firmware topology binary would probably not be possible though, as I expect 
> that format to be quite ALSA-specific.

Yeah, it is quite ALSA specific. It may just be best to just dump this
data format for driver/firmware developers only if it's going to be
difficult to align with MC. The internal ALSA code used to gather this
data will be mostly similar for this simple dump and MC though, so we
will still have a lot of codec reuse.

I think we may just have to support both formats, but stick a big fat
warning about the simple developer format is not for general use and
will change without warning etc. It's intended that the topology
compiler will be the only tool that will read this format (when it
de-compiles ALSA topology data).

Liam
> 
> > 2) Media controller API used by everyone else.
> 

  reply	other threads:[~2015-10-21 10:24 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 19:01 Theodore Ts'o
2015-10-13  4:00 ` Josh Triplett
2015-10-13 13:31 ` Linus Walleij
2015-10-16  0:41 ` Rob Herring
2015-10-16  6:52   ` Johannes Berg
2015-10-16  7:55     ` Arnd Bergmann
2015-10-16  8:00       ` Marcel Holtmann
2015-10-16  8:37         ` Arnd Bergmann
2015-10-16  9:21         ` Linus Walleij
2015-10-16  8:00       ` Johannes Berg
2015-10-16  7:57   ` Samuel Ortiz
2015-10-16  8:45     ` Geert Uytterhoeven
2015-10-16 13:09     ` Rob Herring
2015-10-16  9:03   ` Mark Brown
2015-10-16  8:04 ` Christian Borntraeger
2015-10-19 12:33 ` Mauro Carvalho Chehab
2015-10-19 13:53   ` Mark Brown
2015-10-19 16:27     ` Liam Girdwood
2015-10-19 19:34       ` Mauro Carvalho Chehab
2015-10-19 20:46         ` Shuah Khan
2015-10-20 11:55           ` Liam Girdwood
2015-10-20 13:22             ` Mark Brown
2015-10-20 15:34               ` Mauro Carvalho Chehab
2015-10-22  8:34                 ` Sakari Ailus
2015-10-22  8:49                 ` Sakari Ailus
2015-10-20 15:18             ` Mauro Carvalho Chehab
2015-10-20 15:47               ` Takashi Iwai
2015-10-20 16:11                 ` Mauro Carvalho Chehab
2015-10-20 23:39               ` Shuah Khan
2015-10-20 13:13         ` Mark Brown
2015-10-20 15:29           ` Mauro Carvalho Chehab
2015-10-20 15:56             ` Mark Brown
2015-10-21  0:04       ` Laurent Pinchart
2015-10-21 10:24         ` Liam Girdwood [this message]
2015-10-21 10:24         ` Mark Brown
2015-10-21  8:59       ` Geert Uytterhoeven
2015-10-19 18:48   ` Jonathan Cameron
  -- strict thread matches above, loose matches on Subject: below --
2017-10-13  0:15 [Ksummit-discuss] Draft Agenda for the Kernel Summit Theodore Ts'o
2017-10-13 18:28 ` Konstantin Ryabitsev
2017-10-20  0:30   ` Theodore Ts'o
2017-10-16  6:35 ` James Morris
2017-10-19 11:35 ` Mauro Carvalho Chehab
2017-10-20  0:32   ` Theodore Ts'o
2017-10-20  0:53 ` Rafael J. Wysocki
2017-10-20 19:46   ` Theodore Ts'o
2017-10-21  1:02     ` Rafael J. Wysocki
2017-10-20  2:18 ` Theodore Ts'o
2017-10-20  3:32   ` Thorsten Leemhuis
2017-10-20 11:19     ` Rafael J. Wysocki
2017-10-20  2:19 ` Theodore Ts'o
2017-10-20 14:31   ` Shuah Khan
2017-10-20 15:27     ` James Bottomley
2017-10-20 19:16       ` Shuah Khan
2017-10-20  6:04 ` Steven Rostedt
2017-10-20 15:57   ` Joe Perches
2017-10-20 19:50     ` Theodore Ts'o
2017-10-31  5:10       ` Joe Perches
2017-10-31 18:16         ` Jonathan Corbet
     [not found] <1445272350.2481.40.camel@loki>
2015-10-19 18:52 ` [Ksummit-discuss] Draft agenda for the kernel summit Mark Brown
2014-08-11 22:45 Theodore Ts'o
     [not found] ` <alpine.DEB.2.10.1408152014100.2503@hadrien>
2014-08-15 22:35   ` Theodore Ts'o
2014-08-16  0:27 ` Darren Vincent Hart
2014-08-16  2:17   ` Theodore Ts'o

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1445423065.2497.27.camel@loki \
    --to=liam.r.girdwood@linux.intel.com \
    --cc=broonie@kernel.og \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=lars@metafoo.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=mchehab@osg.samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox