asoc: ap20: change i2s bitclk for dsp mode
Nikesh Oswal [Tue, 6 Mar 2012 10:34:24 +0000 (15:34 +0530)]
i2s bitclk for dsp mode was kept 4 times the minimum requirement
for bcm4330 bt chip on whistler we require only 2 times the minimum
requirement because modem is also configured similarly and for bt call
both the bit clocks should match

Change-Id: I6a84b22c9fbd66b4e60832933b508fe8cf21f387
Reviewed-on: http://git-master/r/88013
Tested-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>

sound/soc/tegra/tegra20_i2s.c

index 9ebe367..e6de1c0 100644 (file)
@@ -27,7 +27,7 @@
  * 02110-1301 USA
  *
  */
-
+#include <asm/mach-types.h>
 #include <linux/clk.h>
 #include <linux/module.h>
 #include <linux/debugfs.h>
@@ -222,7 +222,7 @@ static int tegra20_i2s_hw_params(struct snd_pcm_substream *substream,
        i2sclock = srate * params_channels(params) * sample_size * 2;
 
        /* Additional "* 2" is needed for DSP mode */
-       if (i2s->reg_ctrl & TEGRA20_I2S_CTRL_BIT_FORMAT_DSP)
+       if (i2s->reg_ctrl & TEGRA20_I2S_CTRL_BIT_FORMAT_DSP && !machine_is_whistler())
                i2sclock *= 2;
 
        ret = clk_set_rate(i2s->clk_i2s, i2sclock);