Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52b896cf authored by Russell King's avatar Russell King Committed by Mark Brown
Browse files

ASoC: kirkwood-i2s: provide helper KIRKWOOD_RECCTL_ENABLE_MASK definition



Add a KIRKWOOD_RECCTL_ENABLE_MASK definition to complement the existing
PLAYCTL definition, and make use of it where we wish to clear both
enable bits.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Tested-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 7171511e
Loading
Loading
Loading
Loading
+3 −4
Original line number Original line Diff line number Diff line
@@ -322,8 +322,7 @@ static int kirkwood_i2s_rec_trigger(struct snd_pcm_substream *substream,
		else
		else
			ctl &= ~KIRKWOOD_RECCTL_I2S_EN;		/* spdif */
			ctl &= ~KIRKWOOD_RECCTL_I2S_EN;		/* spdif */


		value = ctl & ~(KIRKWOOD_RECCTL_I2S_EN |
		value = ctl & ~KIRKWOOD_RECCTL_ENABLE_MASK;
				KIRKWOOD_RECCTL_SPDIF_EN);
		writel(value, priv->io + KIRKWOOD_RECCTL);
		writel(value, priv->io + KIRKWOOD_RECCTL);


		/* enable interrupts */
		/* enable interrupts */
@@ -347,7 +346,7 @@ static int kirkwood_i2s_rec_trigger(struct snd_pcm_substream *substream,


		/* disable all records */
		/* disable all records */
		value = readl(priv->io + KIRKWOOD_RECCTL);
		value = readl(priv->io + KIRKWOOD_RECCTL);
		value &= ~(KIRKWOOD_RECCTL_I2S_EN | KIRKWOOD_RECCTL_SPDIF_EN);
		value &= ~KIRKWOOD_RECCTL_ENABLE_MASK;
		writel(value, priv->io + KIRKWOOD_RECCTL);
		writel(value, priv->io + KIRKWOOD_RECCTL);
		break;
		break;


@@ -411,7 +410,7 @@ static int kirkwood_i2s_init(struct kirkwood_dma_data *priv)
	writel(value, priv->io + KIRKWOOD_PLAYCTL);
	writel(value, priv->io + KIRKWOOD_PLAYCTL);


	value = readl(priv->io + KIRKWOOD_RECCTL);
	value = readl(priv->io + KIRKWOOD_RECCTL);
	value &= ~(KIRKWOOD_RECCTL_I2S_EN | KIRKWOOD_RECCTL_SPDIF_EN);
	value &= ~KIRKWOOD_RECCTL_ENABLE_MASK;
	writel(value, priv->io + KIRKWOOD_RECCTL);
	writel(value, priv->io + KIRKWOOD_RECCTL);


	return 0;
	return 0;
+3 −0
Original line number Original line Diff line number Diff line
@@ -38,6 +38,9 @@
#define KIRKWOOD_RECCTL_SIZE_24		(1<<0)
#define KIRKWOOD_RECCTL_SIZE_24		(1<<0)
#define KIRKWOOD_RECCTL_SIZE_32		(0<<0)
#define KIRKWOOD_RECCTL_SIZE_32		(0<<0)


#define KIRKWOOD_RECCTL_ENABLE_MASK		(KIRKWOOD_RECCTL_SPDIF_EN | \
						 KIRKWOOD_RECCTL_I2S_EN)

#define KIRKWOOD_REC_BUF_ADDR			0x1004
#define KIRKWOOD_REC_BUF_ADDR			0x1004
#define KIRKWOOD_REC_BUF_SIZE			0x1008
#define KIRKWOOD_REC_BUF_SIZE			0x1008
#define KIRKWOOD_REC_BYTE_COUNT			0x100C
#define KIRKWOOD_REC_BYTE_COUNT			0x100C