All of lore.kernel.org
 help / color / mirror / Atom feed
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 v5 7/8] ASoC: sun4i-i2s: Update global enable with bitmask
Date: Sat, 19 Aug 2017 14:48:38 +0200	[thread overview]
Message-ID: <20170819124839.4034-8-codekipper@gmail.com> (raw)
In-Reply-To: <20170819124839.4034-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

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

The default value of the config register is different on newer
SoCs and therefore enabling/disabling with a register write
will clear bits used to set the direction of the clock and frame
pins.

Signed-off-by: Marcus Cooper <codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Reviewed-by: Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>
---
 sound/soc/sunxi/sun4i-i2s.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 573acca24a2c..19d50ca10d1f 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -529,8 +529,8 @@ static int sun4i_i2s_startup(struct snd_pcm_substream *substream,
 	struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai);
 
 	/* Enable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG,
-		     SUN4I_I2S_CTRL_GL_EN);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, SUN4I_I2S_CTRL_GL_EN);
 
 	/* Enable the first output line */
 	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
@@ -553,7 +553,8 @@ static void sun4i_i2s_shutdown(struct snd_pcm_substream *substream,
 			   SUN4I_I2S_CTRL_SDO_EN_MASK, 0);
 
 	/* Disable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG, 0);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, 0);
 }
 
 static int sun4i_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
-- 
2.14.1

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 v5 7/8] ASoC: sun4i-i2s: Update global enable with bitmask
Date: Sat, 19 Aug 2017 14:48:38 +0200	[thread overview]
Message-ID: <20170819124839.4034-8-codekipper@gmail.com> (raw)
In-Reply-To: <20170819124839.4034-1-codekipper@gmail.com>

From: Marcus Cooper <codekipper@gmail.com>

The default value of the config register is different on newer
SoCs and therefore enabling/disabling with a register write
will clear bits used to set the direction of the clock and frame
pins.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
---
 sound/soc/sunxi/sun4i-i2s.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 573acca24a2c..19d50ca10d1f 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -529,8 +529,8 @@ static int sun4i_i2s_startup(struct snd_pcm_substream *substream,
 	struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai);
 
 	/* Enable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG,
-		     SUN4I_I2S_CTRL_GL_EN);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, SUN4I_I2S_CTRL_GL_EN);
 
 	/* Enable the first output line */
 	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
@@ -553,7 +553,8 @@ static void sun4i_i2s_shutdown(struct snd_pcm_substream *substream,
 			   SUN4I_I2S_CTRL_SDO_EN_MASK, 0);
 
 	/* Disable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG, 0);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, 0);
 }
 
 static int sun4i_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
-- 
2.14.1

WARNING: multiple messages have this Message-ID (diff)
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 v5 7/8] ASoC: sun4i-i2s: Update global enable with bitmask
Date: Sat, 19 Aug 2017 14:48:38 +0200	[thread overview]
Message-ID: <20170819124839.4034-8-codekipper@gmail.com> (raw)
In-Reply-To: <20170819124839.4034-1-codekipper@gmail.com>

From: Marcus Cooper <codekipper@gmail.com>

The default value of the config register is different on newer
SoCs and therefore enabling/disabling with a register write
will clear bits used to set the direction of the clock and frame
pins.

Signed-off-by: Marcus Cooper <codekipper@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
---
 sound/soc/sunxi/sun4i-i2s.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c
index 573acca24a2c..19d50ca10d1f 100644
--- a/sound/soc/sunxi/sun4i-i2s.c
+++ b/sound/soc/sunxi/sun4i-i2s.c
@@ -529,8 +529,8 @@ static int sun4i_i2s_startup(struct snd_pcm_substream *substream,
 	struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai);
 
 	/* Enable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG,
-		     SUN4I_I2S_CTRL_GL_EN);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, SUN4I_I2S_CTRL_GL_EN);
 
 	/* Enable the first output line */
 	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
@@ -553,7 +553,8 @@ static void sun4i_i2s_shutdown(struct snd_pcm_substream *substream,
 			   SUN4I_I2S_CTRL_SDO_EN_MASK, 0);
 
 	/* Disable the whole hardware block */
-	regmap_write(i2s->regmap, SUN4I_I2S_CTRL_REG, 0);
+	regmap_update_bits(i2s->regmap, SUN4I_I2S_CTRL_REG,
+			   SUN4I_I2S_CTRL_GL_EN, 0);
 }
 
 static int sun4i_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
-- 
2.14.1

  parent reply	other threads:[~2017-08-19 12:48 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-19 12:48 [PATCH v5 0/8] ASoC: Add I2S support for Allwinner H3 SoCs codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48 ` codekipper
2017-08-19 12:48 ` codekipper at gmail.com
2017-08-19 12:48 ` [PATCH v5 5/8] ASoC: sun4i-i2s: Add regmap field to set DAI format codekipper
2017-08-19 12:48   ` codekipper at gmail.com
     [not found]   ` <20170819124839.4034-6-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-19 15:12     ` Chen-Yu Tsai
2017-08-19 15:12       ` [linux-sunxi] " Chen-Yu Tsai
2017-08-19 15:12       ` Chen-Yu Tsai
     [not found] ` <20170819124839.4034-1-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-19 12:48   ` [PATCH v5 1/8] ASoC: sun4i-i2s: Add regmap fields for channels codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
     [not found]     ` <20170819124839.4034-2-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-19 15:11       ` Chen-Yu Tsai
2017-08-19 15:11         ` [linux-sunxi] " Chen-Yu Tsai
2017-08-19 15:11         ` Chen-Yu Tsai
2017-08-19 12:48   ` [PATCH v5 2/8] ASoC: sun4i-i2s: Add regfields for word size select and sample resolution codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
2017-08-19 12:48   ` [PATCH v5 3/8] ASoC: sun4i-i2s: bclk and lrclk polarity tidyup codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
     [not found]     ` <20170819124839.4034-4-codekipper-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-08-19 14:49       ` Chen-Yu Tsai
2017-08-19 14:49         ` [linux-sunxi] " Chen-Yu Tsai
2017-08-19 14:49         ` Chen-Yu Tsai
2017-08-19 12:48   ` [PATCH v5 4/8] ASoC: sun4i-i2s: Add mclk enable regmap field codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
2017-08-19 15:12     ` [linux-sunxi] " Chen-Yu Tsai
2017-08-19 15:12       ` Chen-Yu Tsai
2017-08-19 12:48   ` [PATCH v5 6/8] ASoC: sun4i-i2s: Check for slave select bit codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
2017-08-19 12:48   ` codekipper-Re5JQEeQqe8AvxtiuMwx3w [this message]
2017-08-19 12:48     ` [PATCH v5 7/8] ASoC: sun4i-i2s: Update global enable with bitmask codekipper
2017-08-19 12:48     ` codekipper at gmail.com
2017-08-19 12:48   ` [PATCH v5 8/8] ASoC: sun4i-i2s: Add support for H3 codekipper-Re5JQEeQqe8AvxtiuMwx3w
2017-08-19 12:48     ` codekipper
2017-08-19 12:48     ` codekipper at gmail.com
2017-08-31 11:50   ` [PATCH v5 0/8] ASoC: Add I2S support for Allwinner H3 SoCs Code Kipper
2017-08-31 11:50     ` Code Kipper
2017-08-31 11:50     ` Code Kipper
2017-08-31 11:53     ` Code Kipper
2017-08-31 11:53       ` 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=20170819124839.4034-8-codekipper@gmail.com \
    --to=codekipper-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
    --cc=be17068-p0aYb1w59bq9tCD/VL7h6Q@public.gmane.org \
    --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    --cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.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 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.