On 2019-09-18 10:02, Jon Hunter wrote:
On 17/09/2019 19:12, Ben Dooks wrote:
Set the offset to 0 for TDM mode, as per the current setup.
Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx>
---
sound/soc/tegra/tegra30_i2s.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sound/soc/tegra/tegra30_i2s.c
b/sound/soc/tegra/tegra30_i2s.c
index d75ce12fe177..3efef87ed8d8 100644
--- a/sound/soc/tegra/tegra30_i2s.c
+++ b/sound/soc/tegra/tegra30_i2s.c
@@ -206,8 +206,11 @@ static int tegra30_i2s_hw_params(struct
snd_pcm_substream *substream,
i2s->soc_data->set_audio_cif(i2s->regmap, reg, &cif_conf);
- val = (1 << TEGRA30_I2S_OFFSET_RX_DATA_OFFSET_SHIFT) |
- (1 << TEGRA30_I2S_OFFSET_TX_DATA_OFFSET_SHIFT);
+ if (i2s->is_tdm)
+ val = 0;
+ else
+ val = (1 << TEGRA30_I2S_OFFSET_RX_DATA_OFFSET_SHIFT) |
+ (1 << TEGRA30_I2S_OFFSET_TX_DATA_OFFSET_SHIFT);
regmap_write(i2s->regmap, TEGRA30_I2S_OFFSET, val);
return 0;
Please move this code into tegra30_i2s_set_fmt() as it only needs to be
set once.
BTW, if you refer to the following I2S driver for Tegra210, you will
see
how I think that we should handle this ...
Ok, thanks.