From: Maxime Ripard <maxime.ripard@bootlin.com>
To: codekipper@gmail.com
Cc: wens@csie.org, linux-sunxi@googlegroups.com,
linux-arm-kernel@lists.infradead.org, lgirdwood@gmail.com,
broonie@kernel.org, linux-kernel@vger.kernel.org,
alsa-devel@alsa-project.org, be17068@iperbole.bo.it
Subject: Re: [PATCH v4 5/9] ASoC: sun4i-i2s: Add set_tdm_slot functionality
Date: Tue, 4 Jun 2019 09:49:40 +0200 [thread overview]
Message-ID: <20190604074940.pwzggjluksv7xxel@flea> (raw)
In-Reply-To: <20190603174735.21002-6-codekipper@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2681 bytes --]
On Mon, Jun 03, 2019 at 07:47:31PM +0200, codekipper@gmail.com wrote:
> From: Marcus Cooper <codekipper@gmail.com>
>
> Some codecs require a different amount of a bit clocks per frame than
Which codec? And what are the actual requirements?
> what is calculated by the sample width. Use the tdm slot bindings to
> provide this mechanism.
>
> Signed-off-by: Marcus Cooper <codekipper@gmail.com>
> ---
> sound/soc/sunxi/sun4i-i2s.c | 22 ++++++++++++++++++++--
> 1 file changed, 20 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
> index 329883750d6f..bca73b3c0d74 100644
> --- a/sound/soc/sunxi/sun4i-i2s.c
> +++ b/sound/soc/sunxi/sun4i-i2s.c
> @@ -186,6 +186,9 @@ struct sun4i_i2s {
> struct regmap_field *field_rxchansel;
>
> const struct sun4i_i2s_quirks *variant;
> +
> + unsigned int tdm_slots;
> + unsigned int slot_width;
> };
>
> struct sun4i_i2s_clk_div {
> @@ -337,7 +340,7 @@ static int sun4i_i2s_set_clk_rate(struct snd_soc_dai *dai,
> if (i2s->variant->is_h3_i2s_based)
> regmap_update_bits(i2s->regmap, SUN4I_I2S_FMT0_REG,
> SUN8I_I2S_FMT0_LRCK_PERIOD_MASK,
> - SUN8I_I2S_FMT0_LRCK_PERIOD(32));
> + SUN8I_I2S_FMT0_LRCK_PERIOD(word_size));
This is an unrelated change, it should be in a separate patch.
>
> /* Set sign extension to pad out LSB with 0 */
> regmap_field_write(i2s->field_fmt_sext, 0);
> @@ -414,7 +417,8 @@ static int sun4i_i2s_hw_params(struct snd_pcm_substream *substream,
> sr + i2s->variant->fmt_offset);
>
> return sun4i_i2s_set_clk_rate(dai, params_rate(params),
> - params_width(params));
> + i2s->tdm_slots ?
> + i2s->slot_width : params_width(params));
> }
>
> static int sun4i_i2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
> @@ -657,11 +661,25 @@ static int sun4i_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
> return 0;
> }
>
> +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)
The alignment after the wraping should be at the opening parenthesis.
> +{
> + struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai);
> +
> + i2s->tdm_slots = slots;
> +
> + i2s->slot_width = width;
> +
> + return 0;
> +}
> +
> static const struct snd_soc_dai_ops sun4i_i2s_dai_ops = {
> .hw_params = sun4i_i2s_hw_params,
> .set_fmt = sun4i_i2s_set_fmt,
> .set_sysclk = sun4i_i2s_set_sysclk,
> .trigger = sun4i_i2s_trigger,
> + .set_tdm_slot = sun4i_i2s_set_dai_tdm_slot,
Please sort them by alphabetical order.
Thanks!
Maxime
--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2019-06-04 7:49 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-03 17:47 [PATCH v4 0/9]ASoC: sun4i-i2s: Updates to the driver codekipper
2019-06-03 17:47 ` [PATCH v4 1/9] ASoC: sun4i-i2s: Fix sun8i tx channel offset mask codekipper
2019-06-04 7:34 ` Maxime Ripard
2019-06-04 7:38 ` [linux-sunxi] " Chen-Yu Tsai
2019-06-04 8:15 ` Code Kipper
2019-06-04 14:58 ` Applied "ASoC: sun4i-i2s: Fix sun8i tx channel offset mask" to the asoc tree Mark Brown
2019-06-03 17:47 ` [PATCH v4 2/9] ASoC: sun4i-i2s: Add offset to RX channel select codekipper
2019-06-04 7:36 ` Maxime Ripard
2019-06-04 7:39 ` [linux-sunxi] " Chen-Yu Tsai
2019-06-04 14:58 ` Applied "ASoC: sun4i-i2s: Add offset to RX channel select" to the asoc tree Mark Brown
2019-06-03 17:47 ` [PATCH v4 3/9] ASoC: sun4i-i2s: Add regmap field to sign extend sample codekipper
2019-06-04 7:43 ` Maxime Ripard
2019-06-04 7:53 ` [linux-sunxi] " Chen-Yu Tsai
2019-06-04 11:46 ` Code Kipper
2019-06-03 17:47 ` [PATCH v4 4/9] ASoC: sun4i-i2s: Reduce quirks for sun8i-h3 codekipper
2019-06-04 7:46 ` Maxime Ripard
2019-06-04 9:33 ` Code Kipper
2019-06-03 17:47 ` [PATCH v4 5/9] ASoC: sun4i-i2s: Add set_tdm_slot functionality codekipper
2019-06-04 7:49 ` Maxime Ripard [this message]
2019-06-03 17:47 ` [PATCH v4 6/9] ASoC: sun4i-i2s: Add multi-lane functionality codekipper
2019-06-04 7:58 ` Maxime Ripard
2019-06-04 8:43 ` Code Kipper
2019-06-04 9:02 ` [linux-sunxi] " Christopher Obbard
2019-06-04 9:38 ` Code Kipper
2019-07-30 17:57 ` Jernej Škrabec
2019-07-31 12:29 ` Maxime Ripard
2019-08-01 5:31 ` Jernej Škrabec
2019-08-06 6:22 ` Chen-Yu Tsai
2019-08-12 10:02 ` Maxime Ripard
2019-06-03 17:47 ` [PATCH v4 7/9] ASoC: sun4i-i2s: Add multichannel functionality codekipper
2019-06-03 17:47 ` [PATCH v4 8/9] ASoc: sun4i-i2s: Add 20, 24 and 32 bit support codekipper
2019-06-04 8:19 ` Maxime Ripard
2019-06-03 17:47 ` [PATCH v4 9/9] ASoC: sun4i-i2s: Adjust regmap settings codekipper
2019-06-04 8:21 ` Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190604074940.pwzggjluksv7xxel@flea \
--to=maxime.ripard@bootlin.com \
--cc=alsa-devel@alsa-project.org \
--cc=be17068@iperbole.bo.it \
--cc=broonie@kernel.org \
--cc=codekipper@gmail.com \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sunxi@googlegroups.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).