aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2013-08-04 15:26:03 -0400
committerMark Brown <broonie@linaro.org>2013-08-05 13:03:23 -0400
commitdb43b16fa0e913582b63c971848e08151d50d952 (patch)
tree08210f080a12df3cf6a2581a708653cf99f19b33 /sound
parentaf64d7341ab51335eeb03453180cf200b120ec43 (diff)
ASoC: kirkwood: provide KIRKWOOD_PLAYCTL_ENABLE_MASK
Provide a helper macro which includes the sum of all enable bits in the playback control register. This simplifies the code a little. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/kirkwood/kirkwood-i2s.c10
-rw-r--r--sound/soc/kirkwood/kirkwood.h5
2 files changed, 8 insertions, 7 deletions
diff --git a/sound/soc/kirkwood/kirkwood-i2s.c b/sound/soc/kirkwood/kirkwood-i2s.c
index 0109b1e8449a..ad1c789637b2 100644
--- a/sound/soc/kirkwood/kirkwood-i2s.c
+++ b/sound/soc/kirkwood/kirkwood-i2s.c
@@ -198,8 +198,7 @@ static int kirkwood_i2s_hw_params(struct snd_pcm_substream *substream,
198 ctl_play |= KIRKWOOD_PLAYCTL_MONO_OFF; 198 ctl_play |= KIRKWOOD_PLAYCTL_MONO_OFF;
199 199
200 priv->ctl_play &= ~(KIRKWOOD_PLAYCTL_MONO_MASK | 200 priv->ctl_play &= ~(KIRKWOOD_PLAYCTL_MONO_MASK |
201 KIRKWOOD_PLAYCTL_I2S_EN | 201 KIRKWOOD_PLAYCTL_ENABLE_MASK |
202 KIRKWOOD_PLAYCTL_SPDIF_EN |
203 KIRKWOOD_PLAYCTL_SIZE_MASK); 202 KIRKWOOD_PLAYCTL_SIZE_MASK);
204 priv->ctl_play |= ctl_play; 203 priv->ctl_play |= ctl_play;
205 } else { 204 } else {
@@ -243,8 +242,7 @@ static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
243 case SNDRV_PCM_TRIGGER_START: 242 case SNDRV_PCM_TRIGGER_START:
244 /* configure */ 243 /* configure */
245 ctl = priv->ctl_play; 244 ctl = priv->ctl_play;
246 value = ctl & ~(KIRKWOOD_PLAYCTL_I2S_EN | 245 value = ctl & ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
247 KIRKWOOD_PLAYCTL_SPDIF_EN);
248 writel(value, priv->io + KIRKWOOD_PLAYCTL); 246 writel(value, priv->io + KIRKWOOD_PLAYCTL);
249 247
250 /* enable interrupts */ 248 /* enable interrupts */
@@ -266,7 +264,7 @@ static int kirkwood_i2s_play_trigger(struct snd_pcm_substream *substream,
266 writel(value, priv->io + KIRKWOOD_INT_MASK); 264 writel(value, priv->io + KIRKWOOD_INT_MASK);
267 265
268 /* disable all playbacks */ 266 /* disable all playbacks */
269 ctl &= ~(KIRKWOOD_PLAYCTL_I2S_EN | KIRKWOOD_PLAYCTL_SPDIF_EN); 267 ctl &= ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
270 writel(ctl, priv->io + KIRKWOOD_PLAYCTL); 268 writel(ctl, priv->io + KIRKWOOD_PLAYCTL);
271 break; 269 break;
272 270
@@ -386,7 +384,7 @@ static int kirkwood_i2s_probe(struct snd_soc_dai *dai)
386 384
387 /* disable playback/record */ 385 /* disable playback/record */
388 value = readl(priv->io + KIRKWOOD_PLAYCTL); 386 value = readl(priv->io + KIRKWOOD_PLAYCTL);
389 value &= ~(KIRKWOOD_PLAYCTL_I2S_EN|KIRKWOOD_PLAYCTL_SPDIF_EN); 387 value &= ~KIRKWOOD_PLAYCTL_ENABLE_MASK;
390 writel(value, priv->io + KIRKWOOD_PLAYCTL); 388 writel(value, priv->io + KIRKWOOD_PLAYCTL);
391 389
392 value = readl(priv->io + KIRKWOOD_RECCTL); 390 value = readl(priv->io + KIRKWOOD_RECCTL);
diff --git a/sound/soc/kirkwood/kirkwood.h b/sound/soc/kirkwood/kirkwood.h
index 10a3aaafe0aa..9a50607267cf 100644
--- a/sound/soc/kirkwood/kirkwood.h
+++ b/sound/soc/kirkwood/kirkwood.h
@@ -54,7 +54,7 @@
54#define KIRKWOOD_PLAYCTL_MONO_OFF (0<<5) 54#define KIRKWOOD_PLAYCTL_MONO_OFF (0<<5)
55#define KIRKWOOD_PLAYCTL_I2S_MUTE (1<<7) 55#define KIRKWOOD_PLAYCTL_I2S_MUTE (1<<7)
56#define KIRKWOOD_PLAYCTL_SPDIF_EN (1<<4) 56#define KIRKWOOD_PLAYCTL_SPDIF_EN (1<<4)
57#define KIRKWOOD_PLAYCTL_I2S_EN (1<<3) 57#define KIRKWOOD_PLAYCTL_I2S_EN (1<<3)
58#define KIRKWOOD_PLAYCTL_SIZE_MASK (7<<0) 58#define KIRKWOOD_PLAYCTL_SIZE_MASK (7<<0)
59#define KIRKWOOD_PLAYCTL_SIZE_16 (7<<0) 59#define KIRKWOOD_PLAYCTL_SIZE_16 (7<<0)
60#define KIRKWOOD_PLAYCTL_SIZE_16_C (3<<0) 60#define KIRKWOOD_PLAYCTL_SIZE_16_C (3<<0)
@@ -62,6 +62,9 @@
62#define KIRKWOOD_PLAYCTL_SIZE_24 (1<<0) 62#define KIRKWOOD_PLAYCTL_SIZE_24 (1<<0)
63#define KIRKWOOD_PLAYCTL_SIZE_32 (0<<0) 63#define KIRKWOOD_PLAYCTL_SIZE_32 (0<<0)
64 64
65#define KIRKWOOD_PLAYCTL_ENABLE_MASK (KIRKWOOD_PLAYCTL_SPDIF_EN | \
66 KIRKWOOD_PLAYCTL_I2S_EN)
67
65#define KIRKWOOD_PLAY_BUF_ADDR 0x1104 68#define KIRKWOOD_PLAY_BUF_ADDR 0x1104
66#define KIRKWOOD_PLAY_BUF_SIZE 0x1108 69#define KIRKWOOD_PLAY_BUF_SIZE 0x1108
67#define KIRKWOOD_PLAY_BYTE_COUNT 0x110C 70#define KIRKWOOD_PLAY_BYTE_COUNT 0x110C