mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-04 01:49:36 +00:00
ASoC: pcm: Use wildcard msbits constraints
Use the new wildcard msbits constraints instead of installing a constraint for each available sample format width. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Acked-by: Mark Brown <broonie@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
8ef9df55a7
commit
0e2a37513a
1 changed files with 4 additions and 20 deletions
|
@ -301,15 +301,6 @@ static bool soc_pcm_has_symmetry(struct snd_pcm_substream *substream)
|
||||||
return symmetry;
|
return symmetry;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* List of sample sizes that might go over the bus for parameter
|
|
||||||
* application. There ought to be a wildcard sample size for things
|
|
||||||
* like the DAC/ADC resolution to use but there isn't right now.
|
|
||||||
*/
|
|
||||||
static int sample_sizes[] = {
|
|
||||||
24, 32,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits)
|
static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits)
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
|
@ -318,17 +309,10 @@ static void soc_pcm_set_msb(struct snd_pcm_substream *substream, int bits)
|
||||||
if (!bits)
|
if (!bits)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(sample_sizes); i++) {
|
ret = snd_pcm_hw_constraint_msbits(substream->runtime, 0, 0, bits);
|
||||||
if (bits >= sample_sizes[i])
|
if (ret != 0)
|
||||||
continue;
|
dev_warn(rtd->dev, "ASoC: Failed to set MSB %d: %d\n",
|
||||||
|
bits, ret);
|
||||||
ret = snd_pcm_hw_constraint_msbits(substream->runtime, 0,
|
|
||||||
sample_sizes[i], bits);
|
|
||||||
if (ret != 0)
|
|
||||||
dev_warn(rtd->dev,
|
|
||||||
"ASoC: Failed to set MSB %d/%d: %d\n",
|
|
||||||
bits, sample_sizes[i], ret);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void soc_pcm_apply_msb(struct snd_pcm_substream *substream)
|
static void soc_pcm_apply_msb(struct snd_pcm_substream *substream)
|
||||||
|
|
Loading…
Reference in a new issue