[alsa-devel] [PATCH] ASoC: bcm2835: Add 8 channel (multitrack) capability
Matt Flax
flatmax at flatmax.org
Wed Feb 8 12:41:49 PST 2017
On 09/02/17 05:28, Mark Brown wrote:
> On Tue, Feb 07, 2017 at 10:09:36AM +1100, Matt Flax wrote:
>
>> case SND_SOC_DAIFMT_CBS_CFM:
>> clk_set_rate(dev->clk, sampling_rate * bclk_ratio);
>> + case SND_SOC_DAIFMT_CBM_CFS:
> Is this fall through deliberate?
>
>> + /* Default data delay to 1 bit.
>> + In I2S mode, we must have 2 channels */
>> switch (dev->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
>> case SND_SOC_DAIFMT_I2S:
>> + if (params_channels(params) != 2)
>> + return -EINVAL;
>> + case SND_SOC_DAIFMT_DSP_A:
>> + case SND_SOC_DAIFMT_DSP_B:
>> data_delay = 1;
>> break;
>> default:
> Same here. This is also buggy in that it treats DSP A and DSP B
> identically, they are different so the configuration must be incorrect
> for one of them. I suspect this is configuring for DSP A.
I can remove DSP_B. In actual fact this isn't the real problem.
> You should also really have a setup() function that imposes a channel
> constraint when in I2S mode, wm8988 is one example here.
>
I had a look at wm8988.c and couldn't see this channel constraint
linking to I2S. Can you point me to it ?
thanks
Matt
More information about the linux-rpi-kernel
mailing list