All of lore.kernel.org
 help / color / mirror / Atom feed
* [alsa-devel] Managing resources of DSP from arm core side
@ 2020-01-28 15:14 Daniel Baluta
  2020-01-30 12:04 ` Peter Ujfalusi
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Baluta @ 2020-01-28 15:14 UTC (permalink / raw)
  To: peter.ujfalusi
  Cc: Liam Girdwood, Linux-ALSA, Pierre-Louis Bossart, Kuninori Morimoto

Hi Peter,

Liam mentioned that at some point (when working for OMAP)
you might have had the same challenge I'm facing now.

I'm trying to figure out how to properly manage resources needed by
the IPs configured
by DSP.

On i.MX8 we the following scenario:

- Application processor (arm64) exposes an ALSA sound card to applications
- DSP (Hifi4) does the processing

DSP has direct access to  DAI registers but it doesn't have (easily)
access to other resources
like: pinctrl, power-domain, clocks, etc.

I was wondering how did you tackled this for OMAP?

I have already created a dummy CPU DAI on Linux that it will take care
of this [1].

It is a part of a Back End link like this (simplified view):

links[i].cpus->name = "dummy_dai";
links[i].platforms->name = "dsp";
links[i].codecs->name = "cs42888";
links[i].no_pcm = 1;

It works pretty well for basic playback / capture.

thanks,
Daniel.

[1] https://marc.info/?l=alsa-devel&m=158022296519597&w=2
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] Managing resources of DSP from arm core side
  2020-01-28 15:14 [alsa-devel] Managing resources of DSP from arm core side Daniel Baluta
@ 2020-01-30 12:04 ` Peter Ujfalusi
  2020-01-30 12:20   ` Daniel Baluta
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Ujfalusi @ 2020-01-30 12:04 UTC (permalink / raw)
  To: Daniel Baluta
  Cc: Liam Girdwood, Linux-ALSA, Pierre-Louis Bossart, Kuninori Morimoto

Hi Daniel,

On 28/01/2020 17.14, Daniel Baluta wrote:
> Hi Peter,
> 
> Liam mentioned that at some point (when working for OMAP)
> you might have had the same challenge I'm facing now.

Sorry for the delay...

> I'm trying to figure out how to properly manage resources needed by
> the IPs configured
> by DSP.
> 
> On i.MX8 we the following scenario:
> 
> - Application processor (arm64) exposes an ALSA sound card to applications
> - DSP (Hifi4) does the processing
> 
> DSP has direct access to  DAI registers but it doesn't have (easily)
> access to other resources
> like: pinctrl, power-domain, clocks, etc.
> 
> I was wondering how did you tackled this for OMAP?

It is (was, as the AESS/ABE support is not upstream) bit different.
From the audio backend we do not touch the DAI registers, all setup is
done on the Linux side and the AESS 'only' managing the data flow.

So the back-ends are the DAIs and they are managed by Linux, the
front-end is AESS. DAIs are configured by fixing up the hw_params for
them in the AESS (front-end) stack, so they are configured correctly for
the use case.

It was pre DPCM, but the foundation was the same.

> I have already created a dummy CPU DAI on Linux that it will take care
> of this [1].
> 
> It is a part of a Back End link like this (simplified view):
> 
> links[i].cpus->name = "dummy_dai";
> links[i].platforms->name = "dsp";
> links[i].codecs->name = "cs42888";
> links[i].no_pcm = 1;
> 
> It works pretty well for basic playback / capture.
> 
> thanks,
> Daniel.
> 
> [1] https://marc.info/?l=alsa-devel&m=158022296519597&w=2
> 

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* Re: [alsa-devel] Managing resources of DSP from arm core side
  2020-01-30 12:04 ` Peter Ujfalusi
@ 2020-01-30 12:20   ` Daniel Baluta
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Baluta @ 2020-01-30 12:20 UTC (permalink / raw)
  To: Peter Ujfalusi
  Cc: Liam Girdwood, Linux-ALSA, Pierre-Louis Bossart, Kuninori Morimoto

On Thu, Jan 30, 2020 at 2:03 PM Peter Ujfalusi <peter.ujfalusi@ti.com> wrote:
>
> Hi Daniel,
>
> On 28/01/2020 17.14, Daniel Baluta wrote:
> > Hi Peter,
> >
> > Liam mentioned that at some point (when working for OMAP)
> > you might have had the same challenge I'm facing now.
>
> Sorry for the delay...
>
> > I'm trying to figure out how to properly manage resources needed by
> > the IPs configured
> > by DSP.
> >
> > On i.MX8 we the following scenario:
> >
> > - Application processor (arm64) exposes an ALSA sound card to applications
> > - DSP (Hifi4) does the processing
> >
> > DSP has direct access to  DAI registers but it doesn't have (easily)
> > access to other resources
> > like: pinctrl, power-domain, clocks, etc.
> >
> > I was wondering how did you tackled this for OMAP?
>
> It is (was, as the AESS/ABE support is not upstream) bit different.
> From the audio backend we do not touch the DAI registers, all setup is
> done on the Linux side and the AESS 'only' managing the data flow.
>
> So the back-ends are the DAIs and they are managed by Linux, the
> front-end is AESS. DAIs are configured by fixing up the hw_params for
> them in the AESS (front-end) stack, so they are configured correctly for
> the use case.

I see. Thanks!
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

end of thread, other threads:[~2020-01-30 12:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-28 15:14 [alsa-devel] Managing resources of DSP from arm core side Daniel Baluta
2020-01-30 12:04 ` Peter Ujfalusi
2020-01-30 12:20   ` Daniel Baluta

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.