On 18/09/2019 09:54, Jon Hunter wrote: > > On 17/09/2019 19:12, Ben Dooks wrote: >> In TDM, use the negative edge to drive data and the positive edge to sample >> data. >> >> Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> >> --- >> sound/soc/tegra/tegra30_i2s.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/sound/soc/tegra/tegra30_i2s.c b/sound/soc/tegra/tegra30_i2s.c >> index 4222839b63bd..d75ce12fe177 100644 >> --- a/sound/soc/tegra/tegra30_i2s.c >> +++ b/sound/soc/tegra/tegra30_i2s.c >> @@ -117,6 +117,8 @@ static int tegra30_i2s_set_fmt(struct snd_soc_dai *dai, >> } >> >> pm_runtime_get_sync(dai->dev); >> + regmap_update_bits(i2s->regmap, TEGRA30_I2S_CH_CTRL_EGDE_CTRL_MASK, >> + i2s->is_tdm ? TEGRA30_I2S_CH_CTRL_EGDE_CTRL_NEG_EDGE : 0); >> regmap_update_bits(i2s->regmap, TEGRA30_I2S_CTRL, mask, val); >> pm_runtime_put(dai->dev); > > I would rather set this in the case statement above where the format is > parsed and again drop this 'is_tdm' variable. Actually, this should be implemented as shown in the following ... https://nv-tegra.nvidia.com/gitweb/?p=linux-nvidia.git;a=blob;f=sound/soc/tegra-alt/tegra210_i2s_alt.c;h=ee482f27ed2e4710e5e7446918887f8f8ef31285;hb=a960d522a5486aee27605f890034869c4f49d94a#l362 Jon -- nvpublic