[alsa-devel] [PATCH 1/1] ASoC: TWL4030: Fix for the constraint handling

Peter Ujfalusi peter.ujfalusi at nokia.com
Mon Apr 20 09:23:30 CEST 2009

On Friday 17 April 2009 17:26:42 ext Mark Brown wrote:
> On Fri, Apr 17, 2009 at 03:55:08PM +0300, Peter Ujfalusi wrote:
> > +	snd_pcm_hw_constraint_minmax(slv_substream->runtime,
> > +				twl4030->rate,
> > +				twl4030->rate);
> You did note this yourself but there's support for this in the core;
> it'd be good to switch over to that (and push handling for the other
> constraints into core).

Yes it would be better to move these constraints handling to the core over 
time. As I explained it in the introduction mail, I think that the way the 
core handles the constraint for the rate is not without issues (you also noted 
I have been thinking of implementing this in core in a similar manner as I 
have implemented in the twl4030 codec, but I'm not sure that the assumption of 
having a maximum of two streams (one for playback and one for capture) holds 
for all codec/machine pairs. If it does, I can improve the core's constraint 
handling with the approach taken in the twl4030 codec. With my limited tests 
it passed all cases that I could come up...

> > +	snd_pcm_hw_constraint_minmax(slv_substream->runtime,
> > +				twl4030->sample_bits,
> > +				twl4030->sample_bits);
> > +
> > +	snd_pcm_hw_constraint_minmax(slv_substream->runtime,
> > +				twl4030->channels,
> > +				twl4030->channels);
> Are you sure that these need to match exactly and don't set maxima?

These settings are for the audio interface (HiFi interface), which means they 
are changing the interface format for both playback and capture. On top of 
that in 2 channel mode the interface has to be in I2S mode, in 4 channel mode 
it has to be in DSP_A mode. So I think they have to be exact match in order to 
not to break the existing stream.

> Your overall approach in the patch looks good so I'll apply it - it's
> an improvement on the current situation.


More information about the Alsa-devel mailing list