alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
[parent not found: <4f1f2489.c602440a.208e.ffff9d7bSMTPIN_ADDED@mx.google.com>]
* soc-dsp programming model for loopbacks
@ 2012-01-24 21:36 Pierre-Louis Bossart
  0 siblings, 0 replies; 24+ messages in thread
From: Pierre-Louis Bossart @ 2012-01-24 21:36 UTC (permalink / raw)
  To: alsa-devel; +Cc: 'Liam Girdwood'

Hi,
I've been doing some work on audio loopback (FM radio, BT, Modem -> audio
codec), and I am somewhat confused by the soc-dsp programming model. Let me
take the FM radio example:

If the FM radio is directly connected to the audio codec, my understanding
is that changing the routing with codec controls will trigger the DAPM
logic, which will turn on everything that needs to be on. Very simple, no
matter if the FM-codec link is analog or digital.

Now if the FM radio routing is handled with a digital loopback on the
application processor audio dsp (omap-abe, Intel SST, etc), then soc-dsp
will need to be used. And for a simple FM playback, I need to 
1. configure the audio codec routing for output selection 
2. open a virtual front-end for FM capture 
3. configure the DSP routing to link capture front-end to I2S1 backend (FM
interface) 
4. open a virtual front-end for FM playback 
5. configure the DSP routing to link playback front-end to I2S2 backend
(codec interface)

That seems complicated. To some extent, having the ability to have two
back-ends connected together would make more sense, and would simplify the
programming model a great deal. User-space code would be similar for
loopbacks internal to the codecs or handled on the application processor.
This would apply to Bluetooth and modem connections as well. Without this
capability, we will end-up with multiple 'virtual' front-ends (6 in my
case), making user-space code quite complex.
Looking at the current soc-dsp code, I saw that each back-end is supposed to
have at least one front-end client, and the impact of my proposal seems
fairly important. Before I start looking further into code changes, I wanted
to see if my understanding is correct and if there are other ideas to
simplify loopbacks.
Thanks for your feedback,
-Pierre

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2012-02-02 18:35 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <007801ccdae0$381fcf40$a85f6dc0$@bossart@linux.intel.com>
2012-01-24 22:00 ` soc-dsp programming model for loopbacks Mark Brown
2012-01-25 17:12   ` Liam Girdwood
2012-01-25 17:20     ` Mark Brown
2012-01-25 17:48       ` Liam Girdwood
2012-01-25 18:05         ` Mark Brown
     [not found] <4f1f2489.c602440a.208e.ffff9d7bSMTPIN_ADDED@mx.google.com>
2012-01-25 17:07 ` Liam Girdwood
2012-01-25 17:11   ` Mark Brown
2012-01-25 17:13     ` Liam Girdwood
2012-01-25 17:28       ` Mark Brown
2012-01-25 20:03     ` Pierre-Louis Bossart
     [not found]     ` <002d01ccdb9c$7099f1e0$51cdd5a0$@bossart@linux.intel.com>
2012-01-25 20:14       ` Mark Brown
2012-01-26 13:12         ` Pierre-Louis Bossart
2012-01-26 14:03           ` Mark Brown
2012-01-26 14:27             ` Liam Girdwood
2012-01-26 14:32               ` Mark Brown
2012-01-26 14:42                 ` Liam Girdwood
2012-02-01  9:07   ` Vinod Koul
     [not found]     ` <CABS+qY2GADPO+wkmDf5hzT7uaH7v1zNrdAGKnLbip-QAL8V_RQ@mail.gmail.com>
2012-02-02 11:17       ` Liam Girdwood
2012-02-02 12:03         ` Vinod Koul
2012-02-02 12:06           ` Mark Brown
2012-02-02 12:18             ` Vinod Koul
2012-02-02 18:15               ` Mark Brown
2012-02-02 18:35           ` Liam Girdwood
2012-01-24 21:36 Pierre-Louis Bossart

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).