alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Lai <plai@codeaurora.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>,
	linux-arm-msm@vger.kernel.org,
	alsa-devel <alsa-devel@alsa-project.org>,
	Mark Brown <broonie@opensource.wolfsonmciro.com>,
	alsa-devel@vger.kernel.org
Subject: Re: [alsa-devel] Question about your DSP topic branch
Date: Thu, 17 Mar 2011 00:21:57 -0700	[thread overview]
Message-ID: <4D81B695.4020108@codeaurora.org> (raw)
In-Reply-To: <20110315112531.GA17277@sirena.org.uk>

On 3/15/2011 4:25 AM, Mark Brown wrote:
> On Tue, Mar 15, 2011 at 12:08:39AM -0700, Patrick Lai wrote:
>
>> 1. If there are two front-ends routed to same backend, which front-end
>> hardware parameters should backend DAI be based on? For example, one
>> front-end is MONO and another front is stereo.
>
>> 2. Depending on device mode/use case, I would like to configure BE to
>> different channel mode irrespective of front-end configuration(i.e
>> configuring back-end to handset mode). Where is the hook to do so under
>> ASoC DSP framework?
>
> If you can configure the two completely separately then you can just
> have a DAPM path between the two devices and don't need to link the DAI
> configurations at all - WM8994 is an example of doing this, there is a
> bunch of DSP and mixing in the digital section between the DAIs but
> because the DSP includes sample rate conversion the DAIs can be
> configured separately and we don't have to worry about propagating DSP
> through.

Essentially, I have front-end DAI link represents PCM stream while
back-end DAI link represents physical hardware path. Irrespective
of PCM configuration of front-end DAI link, I want CPU DAI and CODEC
DAI of backend DAI link configured to the same PCM configuration. DSP
can handle resampling/downmixing. How to achieve this use case in
soc-dsp implementation is not obvious to me. In existing soc-dsp
implementation, back-end does not get activated unless front-end is
routed to back-end. Then, PCM parameters of front-end gets propagated
to CPU driver and codec driver of back-end DAI link. I don't see how I
would be able to pass PCM configuration specifically for back-end.

>
> One thing I should mention which I've been working on and which may
> (depending on the design of your hardware) be a better match for you is
> providing a mechanism for setting up DAI links and starting streams on
> them in kernel space based on DAPM routing, with DAPM propagating over
> these links automatically.  This is mostly intended for representing
> things like basebands where you'll have a DAI link that's going to be
> running in one of a small number of configurations (often only one)
> connected to something else along the lines of:
>
>     CODEC<   8kHz mono>   Baseband
>
> so the idea is that to the user you can have a couple of pin switches
> (or whatever else can be represented) in the baseband to say that the
> baseband is passing audio and then DAPM will be extended to figure out
> that it should start up the audio intefaces and configure their params
> without needing userspace to do it just like it can if the link between
> the two were analogue.
>

Yes, I do have use case in mind which requires functionality as you 
described to activate back-end DAI link without front-end DAI being
activated. DAPM seems to be most appropriate approach.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

  reply	other threads:[~2011-03-17  7:21 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4D2652C8.7030701@codeaurora.org>
2011-01-25  7:01 ` Question about your DSP topic branch Patrick Lai
2011-01-25 11:51   ` Mark Brown
2011-01-26  6:22     ` Patrick Lai
2011-01-26 11:20       ` Mark Brown
2011-01-27 21:51         ` Patrick Lai
2011-01-31 13:30           ` Mark Brown
2011-03-17  7:29             ` Patrick Lai
2011-03-17 11:57               ` Mark Brown
2011-01-25 16:46   ` Liam Girdwood
2011-01-27 23:41     ` Patrick Lai
2011-03-15  7:08       ` [alsa-devel] " Patrick Lai
2011-03-15 11:25         ` Mark Brown
2011-03-17  7:21           ` Patrick Lai [this message]
2011-03-17 23:58             ` Mark Brown
2011-03-30 20:39 ` Question about your DSP topic Patrick Lai
2011-03-31  6:40   ` Question about your DSP topic branch Patrick Lai
2011-03-31 21:35     ` Liam Girdwood
2011-03-31 21:42       ` Mark Brown
2011-03-31 22:07         ` Patrick Lai
2011-03-31 18:26   ` Question about your DSP topic Liam Girdwood
2011-03-31 20:59     ` Patrick Lai
2011-03-31 21:37       ` Liam Girdwood

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=4D81B695.4020108@codeaurora.org \
    --to=plai@codeaurora.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=alsa-devel@vger.kernel.org \
    --cc=broonie@opensource.wolfsonmciro.com \
    --cc=broonie@opensource.wolfsonmicro.com \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=lrg@slimlogic.co.uk \
    /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;
as well as URLs for NNTP newsgroup(s).