[alsa-devel] [PATCHv2 6/6] ASoC: OMAP4: Add McPDM platform driver
Jarkko Nikula
jhnikula at gmail.com
Tue Jan 26 09:27:48 CET 2010
Hi
On Mon, 25 Jan 2010 15:06:44 -0600
"Candelaria Villareal, Jorge" <jorge.candelaria at ti.com> wrote:
> > > +static int omap_mcpdm_dai_startup(struct snd_pcm_substream
> > *substream,
> > > + struct snd_soc_dai *dai)
> > > +{
> > > + struct snd_soc_pcm_runtime *rtd = substream->private_data;
> > > + struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
> > > + int err = 0;
> > > +
> > > + if (!cpu_dai->active)
> > > + err = omap_mcpdm_request();
> >
> > Will anything else use this hw interface other than ALSA audio ?
> > If not, the request is probably better in the machine driver probe().
>
> omap_mcpdm_request will enable the functional clock. Isn't it better
> for the clock to be enabled only when is about to get used?
>
Definitely yes if there is no any need to keep block active after the
request. That would help the power-management if there are no active
clocks when the streams are suspended with omap_mcpdm_stop() but the
block remains reserved (i.e. omap_mcpdm_free is not called).
The current McBSP implementation is not the best example here but
hopefully that will get fixed at some point.
> > stream is either PLAYBACK or CAPTURE here.
>
> Downlink and uplink were chosen instead to avoid confusion
> because that is how it is referred in McPDM technical
> documentation. But I do understand that we are talking
> about ALSA stream, not McPDM...
...
> Here, however, the methods set_uplink & set_downlink are
> Named after McPDM data paths. In this case is it preferred
> to name everything using ALSA convention? Or would it be ok
> to use downlink/uplink on certain cases?
>
I think something like below is clear enough. It is easy to see that we
are dealing with ALSA playback stream which corresponds to downlink path
in HW.
if (stream == SNDRV_PCM_STREAM_PLAYBACK)
omap_mcpdm_downlink_opxxx();
Also for the user(-space) standard playback and capture naming is more
clear than downlink/uplink terminology.
--
Jarkko
More information about the Alsa-devel
mailing list