Dummy write in capture master mode is used to gate
bus clocks. This write is useless in slave mode
as the clocks are not managed by slave.

Signed-off-by: Olivier Moysan <olivier.moy...@st.com>
---
 sound/soc/stm/stm32_i2s.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/stm/stm32_i2s.c b/sound/soc/stm/stm32_i2s.c
index 42ce87a35104..47c334de6b09 100644
--- a/sound/soc/stm/stm32_i2s.c
+++ b/sound/soc/stm/stm32_i2s.c
@@ -623,8 +623,8 @@ static int stm32_i2s_trigger(struct snd_pcm_substream 
*substream, int cmd,
                } else {
                        ier = I2S_IER_OVRIE;
 
-                       if (i2s->refcount == 1)
-                               /* dummy write to trigger capture */
+                       if (STM32_I2S_IS_MASTER(i2s) && i2s->refcount == 1)
+                               /* dummy write to gate bus clocks */
                                regmap_write(i2s->regmap,
                                             STM32_I2S_TXDR_REG, 0);
                }
-- 
2.7.4

Reply via email to