On Wed, Jun 30, 2010 at 03:47:56PM +0200, Raffaele Recalcati wrote:

> +static int davinci_i2s_dai_set_clkdiv(struct snd_soc_dai *cpu_dai,
> +                             int div_id, int div)
> +{
> +     struct davinci_mcbsp_dev *dev = cpu_dai->private_data;
> +     int srgr;
> +
> +     dev->clk_div = div;
> +     return 0;
> +}

As previously mentioned this should check the div_id argument.

> +     switch (master) {
> +     case SND_SOC_DAIFMT_CBS_CFS:

...

> +     case SND_SOC_DAIFMT_CBM_CFS:

...

> +     default:
> +             /* Clock and frame sync given from external sources */

The two remaining options (_CBM_CFM and _CBS_CFM) are different, your
description matches _CBM_CFM.

> +             if (master == SND_SOC_DAIFMT_CBS_CFS ||
> +                             master == SND_SOC_DAIFMT_CBS_CFM) {

Switch statement again.

> +     if (master == SND_SOC_DAIFMT_CBS_CFS ||
> +                     master == SND_SOC_DAIFMT_CBS_CFM) {
> +             rcr |= DAVINCI_MCBSP_RCR_RFRLEN1(0);
> +             xcr |= DAVINCI_MCBSP_XCR_XFRLEN1(0);
> +     } else {

...and another.  Please fix all these.
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to