All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Brown <broonie@kernel.org>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: Jean-Francois Moine <moinejf@free.fr>,
	alsa-devel@alsa-project.org, Liam Girdwood <lgirdwood@gmail.com>
Subject: Re: [PATCH 08/19] ASoC: kirkwood: Don't set unused struct snd_pcm_hardware fields
Date: Thu, 2 Jan 2014 11:53:31 +0000	[thread overview]
Message-ID: <20140102115331.GU31886@sirena.org.uk> (raw)
In-Reply-To: <52C47627.9080709@metafoo.de>


[-- Attachment #1.1: Type: text/plain, Size: 2278 bytes --]

On Wed, Jan 01, 2014 at 09:10:15PM +0100, Lars-Peter Clausen wrote:

> This seems all to be very hackish. We clearly need to fix that DPCM only
> considers the constraints of the FE DAI though.

Yes.  Or otherwise make sure they get fed in anyway.

> The digital domain of a sound card can be thought of as a pipeline which
> mostly operates on one sample at a time. The samples have two main

> to change the width. What we are interested in is for which parameters on
> the PCM side are we able to build up a pipeline that satisfies all
> constraints of all the components in the pipeline. I think this can be done
> by walking the DAPM graph and collect the constraints associated with the
> components in the path (The graph walking only has to be done when
> components are added or removed). E.g. build up a list of all the the DAIs
> that are reachable from a PCM and then use the constraints of those DAIs for
> the PCM.

This is sort of the direction I'd been thinking in but there's a couple
of extra bits to consider here.  The big one is that we have devices
with constraints that aren't connected to the routing so just walking
DAPM isn't sufficient - for example, a constraint like "all the DACs
have to be in the same domain at the same rate".  This makes the
collecting all the constraints harder and routing dependent.

What I'd been thinking of was annotating the DAPM graph with digital
domain objects (registering a list of digital domains each of which has
some DAPM objects anyway) and then using the DAPM graph to flow through
both settings when streams start and constraints when we're trying to
figure out those.  I started implementing this but didn't get much
beyond registration.

> While we are at it we should probably also reduce the separation between
> DPCM and clasic PCM as clasic PCM is just a special case (static routes) of
> DPCM.

I'd been thinking of that in the other direction - moving things out of
DPCM and into DAPM or ASoC specific stuff so that the ALSA level PCM
interface is more hidden, making dynamic PCM less tied to PCM.  The
stuff with handling sample sizes rather than formats is going in that
general direction.  I'm not sure this doesn't boil down to the same
thing as you're suggesting when they're implemented though.

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2014-01-02 11:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-30 19:42 [PATCH 08/19] ASoC: kirkwood: Don't set unused struct snd_pcm_hardware fields Jean-Francois Moine
2014-01-01 20:10 ` Lars-Peter Clausen
2014-01-02 11:53   ` Mark Brown [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-12-20 13:20 [PATCH 01/19] ASoC: atmel: " Lars-Peter Clausen
2013-12-20 13:20 ` [PATCH 08/19] ASoC: kirkwood: " Lars-Peter Clausen
2013-12-20 18:05   ` Jean-Francois Moine
2013-12-20 17:18     ` Lars-Peter Clausen
2013-12-20 19:13       ` Jean-Francois Moine
2013-12-20 18:29         ` Lars-Peter Clausen

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=20140102115331.GU31886@sirena.org.uk \
    --to=broonie@kernel.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    --cc=moinejf@free.fr \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.