summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/tegra/tegra30_dam.c8
-rw-r--r--sound/soc/tegra/tegra_aic326x.c7
-rw-r--r--sound/soc/tegra/tegra_cs42l73.c7
-rw-r--r--sound/soc/tegra/tegra_max98088.c7
4 files changed, 21 insertions, 8 deletions
diff --git a/sound/soc/tegra/tegra30_dam.c b/sound/soc/tegra/tegra30_dam.c
index bb42edc2e199..26b65df95474 100644
--- a/sound/soc/tegra/tegra30_dam.c
+++ b/sound/soc/tegra/tegra30_dam.c
@@ -676,9 +676,13 @@ int tegra30_dam_set_acif(int ifc, int chid, unsigned int audio_channels,
return -EINVAL;
#ifndef CONFIG_ARCH_TEGRA_3x_SOC
- /*ch0 takes input as mono/32bit always*/
+ /*ch0 takes input as mono always*/
if ((chid == dam_ch_in0) &&
- ((client_channels != 1) || (client_bits != 32)))
+ ((client_channels != 1)))
+ return -EINVAL;
+ /*as per dam spec file chout is fixed to 32 bits*/
+ /*so accept ch0, ch1 and chout as 32bit always*/
+ if (client_bits != 32)
return -EINVAL;
#else
/*ch0 takes input as mono/16bit always*/
diff --git a/sound/soc/tegra/tegra_aic326x.c b/sound/soc/tegra/tegra_aic326x.c
index 9b7d0e6f8c08..6b6359980229 100644
--- a/sound/soc/tegra/tegra_aic326x.c
+++ b/sound/soc/tegra/tegra_aic326x.c
@@ -243,14 +243,17 @@ static int tegra_aic326x_set_dam_cif(int dam_ifc, int srate,
srate);
tegra30_dam_set_samplerate(dam_ifc, TEGRA30_DAM_CHIN1,
srate);
+#ifndef CONFIG_ARCH_TEGRA_3x_SOC
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
channels, bit_size, channels,
- bit_size);
-#ifndef CONFIG_ARCH_TEGRA_3x_SOC
+ 32);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
32);
#else
+ tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
+ channels, bit_size, channels,
+ bit_size);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
bit_size);
diff --git a/sound/soc/tegra/tegra_cs42l73.c b/sound/soc/tegra/tegra_cs42l73.c
index efd717403370..b1d9cfe0701a 100644
--- a/sound/soc/tegra/tegra_cs42l73.c
+++ b/sound/soc/tegra/tegra_cs42l73.c
@@ -186,14 +186,17 @@ static int tegra_cs42l73_set_dam_cif(int dam_ifc, int srate,
srate);
tegra30_dam_set_samplerate(dam_ifc, TEGRA30_DAM_CHIN1,
srate);
+#ifndef CONFIG_ARCH_TEGRA_3x_SOC
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
channels, bit_size, channels,
- bit_size);
-#ifndef CONFIG_ARCH_TEGRA_3x_SOC
+ 32);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
32);
#else
+ tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
+ channels, bit_size, channels,
+ bit_size);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
bit_size);
diff --git a/sound/soc/tegra/tegra_max98088.c b/sound/soc/tegra/tegra_max98088.c
index 819075871fde..714943a0f216 100644
--- a/sound/soc/tegra/tegra_max98088.c
+++ b/sound/soc/tegra/tegra_max98088.c
@@ -181,14 +181,17 @@ static int tegra_max98088_set_dam_cif(int dam_ifc, int srate,
srate);
tegra30_dam_set_samplerate(dam_ifc, TEGRA30_DAM_CHIN1,
srate);
+#ifndef CONFIG_ARCH_TEGRA_3x_SOC
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
channels, bit_size, channels,
- bit_size);
-#ifndef CONFIG_ARCH_TEGRA_3x_SOC
+ 32);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
32);
#else
+ tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHIN1,
+ channels, bit_size, channels,
+ bit_size);
tegra30_dam_set_acif(dam_ifc, TEGRA30_DAM_CHOUT,
channels, bit_size, channels,
bit_size);