Re: [PATCH v5 02/15] ASoC: sun4i-i2s: Add set_tdm_slot functionality
From: Mark Brown <broonie@kernel.org>
Date: 2019-08-14 09:30:16
Also in:
alsa-devel, lkml
From: Mark Brown <broonie@kernel.org>
Date: 2019-08-14 09:30:16
Also in:
alsa-devel, lkml
On Wed, Aug 14, 2019 at 08:08:41AM +0200, codekipper@gmail.com wrote:
From: Marcus Cooper <redacted> Codecs without a control connection such as i2s based HDMI audio and the Pine64 DAC require a different amount of bit clocks per frame than
This isn't a universal property of CODECs without a control, and it's something that CODECs with control can require too.
return sun4i_i2s_set_clk_rate(dai, params_rate(params), - params_width(params)); + i2s->tdm_slots ? + i2s->slot_width : params_width(params));
Please write normal conditional statements unless there's a strong reason to do otherwise, it makes things more legible.
+static int sun4i_i2s_set_dai_tdm_slot(struct snd_soc_dai *dai,
+ unsigned int tx_mask,
+ unsigned int rx_mask,
+ int slots, int width)
+{
+ struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai);
+
+ i2s->tdm_slots = slots;
+
+ i2s->slot_width = width;
+
+ return 0;
+}No validation of the parameters here?