[alsa-devel] OSS emulation and hardware configuration

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Sep 14 18:13:07 CEST 2011

On Wed, Sep 14, 2011 at 09:37:59AM -0400, Mike Crowe wrote:

> Apologies if this is obvious, but how does the OSS emulation layer set
> hardware parameters at the codec level?

It calls hw_params() repeatedly.

> We are working in an embedded environment, and using a custom codec
> driver.  When we access it via the ALSA API, it works fine.  We have a
> bf5xx_wm8990_hw_params() function with configures the critical

Hrm.  The WM8990 has been supported in mainline for a considerable time,
unless you're using an exceptionally old kernel you really use the

> When my OSS application opens it's device and changes the audio rate,
> I don't see that function getting called.  In core/oss/pcm_oss.c, I
> see the snd_pcm_oss_set_rate() function getting called, but I don't
> understand how it changes parameters in the codec.  My
> bf5xx_wm8990_hw_params() never gets called.

It should go through the ASoC core; it's possible that you've not
hooked things up properly there.

More information about the Alsa-devel mailing list