All of lore.kernel.org
 help / color / mirror / Atom feed
From: codekipper@gmail.com
To: maxime.ripard@free-electrons.com
Cc: linux-arm-kernel@lists.infradead.org,
	linux-sunxi@googlegroups.com, lgirdwood@gmail.com,
	broonie@kernel.org, linux-kernel@vger.kernel.org,
	alsa-devel@alsa-project.org, be17068@iperbole.bo.it,
	Marcus Cooper <codekipper@gmail.com>
Subject: [PATCH v3 02/12] ASoC: sun4i-i2s: Add clkdiv offsets to quirks
Date: Sat, 29 Jul 2017 16:17:43 +0200	[thread overview]
Message-ID: <20170729141753.20174-3-codekipper@gmail.com> (raw)
In-Reply-To: <20170729141753.20174-1-codekipper@gmail.com>

From: Marcus Cooper <codekipper@gmail.com>

The BCLKDIV and MCLKDIV found on newer SoCs start from an offset of 1.
Add the functionality to adjust the division values according to the
needs to the device being used.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
---
 sound/soc/sunxi/sun4i-i2s.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index d7ee7a443e4e..1d538de4e4d0 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -94,9 +94,13 @@
  * struct sun4i_i2s_quirks - Differences between SoC variants.
  *
  * @has_reset: SoC needs reset deasserted.
+ * @mclk_offset: Value by which mclkdiv needs to be adjusted.
+ * @bclk_offset: Value by which bclkdiv needs to be adjusted.
  */
 struct sun4i_i2s_quirks {
 	bool				has_reset;
+	unsigned int			mclk_offset;
+	unsigned int			bclk_offset;
 };
 
 struct sun4i_i2s {
@@ -149,7 +153,7 @@ static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *bdiv = &sun4i_i2s_bclk_div[i];
 
 		if (bdiv->div == div)
-			return bdiv->val;
+			return bdiv->val + i2s->variant->bclk_offset;
 	}
 
 	return -EINVAL;
@@ -167,7 +171,7 @@ static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *mdiv = &sun4i_i2s_mclk_div[i];
 
 		if (mdiv->div == div)
-			return mdiv->val;
+			return mdiv->val + i2s->variant->mclk_offset;
 	}
 
 	return -EINVAL;
-- 
2.13.3

WARNING: multiple messages have this Message-ID (diff)
From: codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
To: maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
	be17068-p0aYb1w59bq9tCD/VL7h6Q@public.gmane.org,
	Marcus Cooper
	<codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: [PATCH v3 02/12] ASoC: sun4i-i2s: Add clkdiv offsets to quirks
Date: Sat, 29 Jul 2017 16:17:43 +0200	[thread overview]
Message-ID: <20170729141753.20174-3-codekipper@gmail.com> (raw)
In-Reply-To: <20170729141753.20174-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

From: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

The BCLKDIV and MCLKDIV found on newer SoCs start from an offset of 1.
Add the functionality to adjust the division values according to the
needs to the device being used.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
 sound/soc/sunxi/sun4i-i2s.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index d7ee7a443e4e..1d538de4e4d0 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -94,9 +94,13 @@
  * struct sun4i_i2s_quirks - Differences between SoC variants.
  *
  * @has_reset: SoC needs reset deasserted.
+ * @mclk_offset: Value by which mclkdiv needs to be adjusted.
+ * @bclk_offset: Value by which bclkdiv needs to be adjusted.
  */
 struct sun4i_i2s_quirks {
 	bool				has_reset;
+	unsigned int			mclk_offset;
+	unsigned int			bclk_offset;
 };
 
 struct sun4i_i2s {
@@ -149,7 +153,7 @@ static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *bdiv = &sun4i_i2s_bclk_div[i];
 
 		if (bdiv->div == div)
-			return bdiv->val;
+			return bdiv->val + i2s->variant->bclk_offset;
 	}
 
 	return -EINVAL;
@@ -167,7 +171,7 @@ static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *mdiv = &sun4i_i2s_mclk_div[i];
 
 		if (mdiv->div == div)
-			return mdiv->val;
+			return mdiv->val + i2s->variant->mclk_offset;
 	}
 
 	return -EINVAL;
-- 
2.13.3

WARNING: multiple messages have this Message-ID (diff)
From: codekipper@gmail.com (codekipper at gmail.com)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 02/12] ASoC: sun4i-i2s: Add clkdiv offsets to quirks
Date: Sat, 29 Jul 2017 16:17:43 +0200	[thread overview]
Message-ID: <20170729141753.20174-3-codekipper@gmail.com> (raw)
In-Reply-To: <20170729141753.20174-1-codekipper@gmail.com>

From: Marcus Cooper <codekipper@gmail.com>

The BCLKDIV and MCLKDIV found on newer SoCs start from an offset of 1.
Add the functionality to adjust the division values according to the
needs to the device being used.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
---
 sound/soc/sunxi/sun4i-i2s.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index d7ee7a443e4e..1d538de4e4d0 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -94,9 +94,13 @@
  * struct sun4i_i2s_quirks - Differences between SoC variants.
  *
  * @has_reset: SoC needs reset deasserted.
+ * @mclk_offset: Value by which mclkdiv needs to be adjusted.
+ * @bclk_offset: Value by which bclkdiv needs to be adjusted.
  */
 struct sun4i_i2s_quirks {
 	bool				has_reset;
+	unsigned int			mclk_offset;
+	unsigned int			bclk_offset;
 };
 
 struct sun4i_i2s {
@@ -149,7 +153,7 @@ static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *bdiv = &sun4i_i2s_bclk_div[i];
 
 		if (bdiv->div == div)
-			return bdiv->val;
+			return bdiv->val + i2s->variant->bclk_offset;
 	}
 
 	return -EINVAL;
@@ -167,7 +171,7 @@ static int sun4i_i2s_get_mclk_div(struct sun4i_i2s *i2s,
 		const struct sun4i_i2s_clk_div *mdiv = &sun4i_i2s_mclk_div[i];
 
 		if (mdiv->div == div)
-			return mdiv->val;
+			return mdiv->val + i2s->variant->mclk_offset;
 	}
 
 	return -EINVAL;
-- 
2.13.3

  parent reply	other threads:[~2017-07-29 14:18 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-29 14:17 [PATCH v3 00/12] ASoC: Add I2S support for Allwinner H3 SoCs codekipper
2017-07-29 14:17 ` codekipper at gmail.com
2017-07-29 14:17 ` codekipper
2017-07-29 14:17 ` [PATCH v3 01/12] ASoC: sun4i-i2s: Extend quirks scope codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-01  2:50   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-01  2:50     ` Chen-Yu Tsai
2017-08-01  2:50     ` Chen-Yu Tsai
2017-08-01 14:16   ` Applied "ASoC: sun4i-i2s: Extend quirks scope" to the asoc tree Mark Brown
2017-08-01 14:16     ` Mark Brown
2017-08-01 14:16     ` Mark Brown
2017-07-29 14:17 ` codekipper [this message]
2017-07-29 14:17   ` [PATCH v3 02/12] ASoC: sun4i-i2s: Add clkdiv offsets to quirks codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-01  2:55   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-01  2:55     ` Chen-Yu Tsai
2017-08-01  2:55     ` Chen-Yu Tsai
2017-08-07  6:20     ` [linux-sunxi] " Code Kipper
2017-08-07  6:20       ` Code Kipper
2017-07-29 14:17 ` [PATCH v3 03/12] ASoC: sun4i-i2s: Add regmap config " codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-01  8:10   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-01  8:10     ` Chen-Yu Tsai
2017-08-01  8:10     ` Chen-Yu Tsai
2017-08-14 16:43   ` Applied "ASoC: sun4i-i2s: Add regmap config to quirks" to the asoc tree Mark Brown
2017-08-14 16:43     ` Mark Brown
2017-08-14 16:43     ` Mark Brown
2017-07-29 14:17 ` [PATCH v3 04/12] ASoC: sun4i-i2s: Add TX FIFO offset to quirks codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-01  8:18   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-01  8:18     ` Chen-Yu Tsai
2017-08-01  8:18     ` Chen-Yu Tsai
2017-08-14 16:43   ` Applied "ASoC: sun4i-i2s: Add TX FIFO offset to quirks" to the asoc tree Mark Brown
2017-08-14 16:43     ` Mark Brown
2017-08-14 16:43     ` Mark Brown
2017-07-29 14:17 ` [PATCH v3 05/12] ASoC: sun4i-i2s: Add regmap fields for channels codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-07-30 16:43   ` [alsa-devel] " kbuild test robot
2017-07-30 16:43     ` kbuild test robot
2017-07-30 16:43     ` kbuild test robot
2017-07-30 16:43   ` [PATCH] ASoC: sun4i-i2s: fix ptr_ret.cocci warnings kbuild test robot
2017-07-30 16:43     ` kbuild test robot
2017-07-30 16:43     ` kbuild test robot
2017-08-01  8:31   ` [linux-sunxi] [PATCH v3 05/12] ASoC: sun4i-i2s: Add regmap fields for channels Chen-Yu Tsai
2017-08-01  8:31     ` Chen-Yu Tsai
2017-08-01  8:31     ` Chen-Yu Tsai
2017-08-07  7:39     ` [linux-sunxi] " Code Kipper
2017-08-07  7:39       ` Code Kipper
2017-08-07  7:39       ` Code Kipper
2017-07-29 14:17 ` [PATCH v3 06/12] ASoC: sun4i-i2s: Add changes for wss and sr codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-01  8:49   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-01  8:49     ` Chen-Yu Tsai
2017-08-01  8:49     ` Chen-Yu Tsai
2017-08-02  3:06   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:06     ` Chen-Yu Tsai
2017-08-02  3:06     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 07/12] ASoC: sun4i-i2s: bclk and lrclk polarity tidyup codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  3:09   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:09     ` Chen-Yu Tsai
2017-08-02  3:09     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 08/12] ASoC: sun4i-i2s: Add mclk enable regmap field codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  3:20   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:20     ` Chen-Yu Tsai
2017-08-02  3:20     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 09/12] ASoC: sun4i-i2s: Add regmap field to set format codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  3:32   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:32     ` Chen-Yu Tsai
2017-08-02  3:32     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 10/12] ASoC: sun4i-i2s: Check for slave select bit codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  3:50   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:50     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 11/12] ASoC: sun4i-i2s: Update global enable with bitmask codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  3:55   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  3:55     ` Chen-Yu Tsai
2017-08-02  3:55     ` Chen-Yu Tsai
2017-07-29 14:17 ` [PATCH v3 12/12] ASoC: sun4i-i2s: Add support for H3 codekipper
2017-07-29 14:17   ` codekipper at gmail.com
2017-07-29 14:17   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-02  4:37   ` [linux-sunxi] " Chen-Yu Tsai
2017-08-02  4:37     ` Chen-Yu Tsai
2017-08-02  4:37     ` Chen-Yu Tsai
2017-07-31  7:05 ` [linux-sunxi] [PATCH v3 00/12] ASoC: Add I2S support for Allwinner H3 SoCs Olliver Schinagl
2017-07-31  7:05   ` Olliver Schinagl
2017-07-31  7:05   ` Olliver Schinagl
2017-07-31 14:22   ` [linux-sunxi] " Code Kipper
2017-07-31 14:22     ` Code Kipper
2017-07-31 14:22     ` Code Kipper

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=20170729141753.20174-3-codekipper@gmail.com \
    --to=codekipper@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=be17068@iperbole.bo.it \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=maxime.ripard@free-electrons.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.