ASoC: rockchip: Revert "ASoC: rockchip: i2s: remove unused variables"
authorJohn Keeping <john@metanate.com>
Wed, 4 May 2016 16:21:56 +0000 (17:21 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 4 May 2016 16:52:11 +0000 (17:52 +0100)
This reverts commit 5938448b99275cba95167c3f9d39ca9225fdad38.

It turns out that the commit that made these variables unused is wrong
so we're about to revert it.  Bring back the variables in prepration.

Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/rockchip/rockchip_i2s.c

index 2f8e20416bd3aa08bf9178949c010905472a2414..34743ec61c49851010a4effda0354078936c348c 100644 (file)
@@ -34,6 +34,13 @@ struct rk_i2s_dev {
 
        struct regmap *regmap;
 
+/*
+ * Used to indicate the tx/rx status.
+ * I2S controller hopes to start the tx and rx together,
+ * also to stop them when they are both try to stop.
+*/
+       bool tx_start;
+       bool rx_start;
        bool is_master_mode;
 };
 
@@ -77,7 +84,11 @@ static void rockchip_snd_txctrl(struct rk_i2s_dev *i2s, int on)
                regmap_update_bits(i2s->regmap, I2S_XFER,
                                   I2S_XFER_TXS_START,
                                   I2S_XFER_TXS_START);
+
+               i2s->tx_start = true;
        } else {
+               i2s->tx_start = false;
+
                regmap_update_bits(i2s->regmap, I2S_DMACR,
                                   I2S_DMACR_TDE_ENABLE, I2S_DMACR_TDE_DISABLE);
 
@@ -115,7 +126,11 @@ static void rockchip_snd_rxctrl(struct rk_i2s_dev *i2s, int on)
                regmap_update_bits(i2s->regmap, I2S_XFER,
                                   I2S_XFER_RXS_START,
                                   I2S_XFER_RXS_START);
+
+               i2s->rx_start = true;
        } else {
+               i2s->rx_start = false;
+
                regmap_update_bits(i2s->regmap, I2S_DMACR,
                                   I2S_DMACR_RDE_ENABLE, I2S_DMACR_RDE_DISABLE);