From: Patrick Lai <plai@codeaurora.org>
To: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: alsa-devel@alsa-project.org, waiw@codeaurora.org,
pl bossart <bossart.nospam@gmail.com>,
asishb@codeaurora.org, jaywang@codeaurora.org,
Liam Girdwood <lrg@slimlogic.co.uk>
Subject: Re: soc-dsp questions
Date: Fri, 10 Jun 2011 18:19:57 -0700 [thread overview]
Message-ID: <4DF2C2BD.6050505@codeaurora.org> (raw)
In-Reply-To: <20110610094226.GA26436@opensource.wolfsonmicro.com>
On 6/10/2011 2:42 AM, Mark Brown wrote:
>
> That might be handlable by either of the methods I was suggesting above.
> Of course depending on the algorithms you're running the DSP may want
> more mics than it's producing output channels - beam forming or noise
> cancellation are the obvious examples there.
Yes, exactly.
> Do you mean not also a concern? I *believe* OMAP is passing the
> configuration through to the external DAI using the front end/back end
> connection so the format gets selected by the app when it does a record,
Can you elaborate more on "configuration through external DAI" ?
Is there an example?
> possibly with rewriting through the hook functions in the machine driver.
Are you referring to fixup function in the machine driver? It works for
hardware parameter that is fixed per machine. For example, regardless
sample rate of front-ends that are routed to same back-end,
back-end sample rate is fixed to 48KHz. I am already taking advantage
of the hook.
Another query I have is how to handle back-end error. The audio bus
which is running on my machine requires close coordination between CPU
and CODEC. Essentially, if one side is unable to respond to incoming
data in time, data exchange halts. I am looking for way to reset both
CPU and CODEC back to fresh state. One approach I am thinking is to
generate XRUN error(snd_pcm_stop(SNDRV_PCM_STATE_XRUN) and have
application call prepare() to reset CPU and CODEC back to good state.
I see each back-end is registered as PCM device so it's possible that
application can read /dev/snd/timer to get notified. However, do I call
prepare() on one of FE PCM devices that are routed to the back end in
question? Would this approach work? Any suggestion?
Thanks
Patrick
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
next prev parent reply other threads:[~2011-06-11 1:20 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-25 22:01 soc-dsp questions pl bossart
2011-04-26 9:41 ` Liam Girdwood
2011-04-26 10:18 ` Mark Brown
2011-06-10 6:58 ` Patrick Lai
2011-06-10 9:42 ` Mark Brown
2011-06-11 1:19 ` Patrick Lai [this message]
2011-06-11 11:48 ` Mark Brown
2011-06-13 4:55 ` Patrick Lai
2011-06-13 18:01 ` Liam Girdwood
2011-06-13 17:55 ` Liam Girdwood
2011-06-13 17:49 ` Liam Girdwood
-- strict thread matches above, loose matches on Subject: below --
2011-11-08 8:22 Vinod Koul
2011-11-08 20:20 ` Girdwood, Liam
2011-11-09 8:04 ` Vinod Koul
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=4DF2C2BD.6050505@codeaurora.org \
--to=plai@codeaurora.org \
--cc=alsa-devel@alsa-project.org \
--cc=asishb@codeaurora.org \
--cc=bossart.nospam@gmail.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=jaywang@codeaurora.org \
--cc=lrg@slimlogic.co.uk \
--cc=waiw@codeaurora.org \
/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.