Thread (43 messages) 43 messages, 6 authors, 2019-08-21

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

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?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help