From 7b9cdb66e6d1234f3cfe41514cd4a15de9fb06d8 Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Fri, 28 Sep 2018 16:28:54 +0530 Subject: [PATCH] asoc: bolero: Fix slow playback on HPH After switching from native to non-native clip, observe slowness in clip playback content heard on headphones. Update mclk_mux for enable sequence based on native flag and for disable sequence use the same setting done during enable. CRs-Fixed: 2322232 Change-Id: I795e0620e0239b53cdfdadaf2d57acfb570c4c3b Signed-off-by: Laxminath Kasam --- asoc/codecs/bolero/rx-macro.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/asoc/codecs/bolero/rx-macro.c b/asoc/codecs/bolero/rx-macro.c index 6c936cbc014c..4c45b80bb489 100644 --- a/asoc/codecs/bolero/rx-macro.c +++ b/asoc/codecs/bolero/rx-macro.c @@ -970,11 +970,11 @@ static int rx_macro_mclk_enable(struct rx_macro_priv *rx_priv, dev_dbg(rx_priv->dev, "%s: mclk_enable = %u, dapm = %d clk_users= %d\n", __func__, mclk_enable, dapm, rx_priv->rx_mclk_users); - if (rx_priv->is_native_on) - mclk_mux = MCLK_MUX1; mutex_lock(&rx_priv->mclk_lock); if (mclk_enable) { if (rx_priv->rx_mclk_users == 0) { + if (rx_priv->is_native_on) + mclk_mux = MCLK_MUX1; ret = bolero_request_clock(rx_priv->dev, RX_MACRO, mclk_mux, true); if (ret < 0) { @@ -1014,6 +1014,7 @@ static int rx_macro_mclk_enable(struct rx_macro_priv *rx_priv, regmap_update_bits(regmap, BOLERO_CDC_RX_CLK_RST_CTRL_MCLK_CONTROL, 0x01, 0x00); + mclk_mux = rx_priv->mclk_mux; bolero_request_clock(rx_priv->dev, RX_MACRO, mclk_mux, false); rx_priv->mclk_mux = MCLK_MUX0;