Browse Source

asoc: codecs: bolero: suspend swr at VA use case switch

While switching from a VA use case, suspend the soundwire
immediately so that if the next use case switches clock
soundwire will also be reset.

Change-Id: I18b65a01bc02329e9a53de93c0ccfb621c95a1f4
Signed-off-by: Karthikeyan Mani <[email protected]>
Karthikeyan Mani 5 years ago
parent
commit
9810a5cc92
1 changed files with 4 additions and 0 deletions
  1. 4 0
      asoc/codecs/bolero/va-macro.c

+ 4 - 0
asoc/codecs/bolero/va-macro.c

@@ -336,6 +336,8 @@ static int va_macro_mclk_event(struct snd_soc_dapm_widget *w,
 		ret = va_macro_mclk_enable(va_priv, 1, true);
 		break;
 	case SND_SOC_DAPM_POST_PMD:
+		if (bolero_tx_clk_switch(component))
+			dev_dbg(va_dev, "%s: clock switch failed\n",__func__);
 		va_macro_mclk_enable(va_priv, 0, true);
 		if (va_priv->tx_clk_status > 0) {
 			bolero_clk_rsc_request_clock(va_priv->dev,
@@ -775,6 +777,8 @@ static int va_macro_enable_tx(struct snd_soc_dapm_widget *w,
 
 	switch (event) {
 	case SND_SOC_DAPM_POST_PMU:
+		if (bolero_tx_clk_switch(component))
+			dev_dbg(va_dev, "%s: clock switch failed\n",__func__);
 		if (va_priv->tx_clk_status > 0) {
 			ret = bolero_clk_rsc_request_clock(va_priv->dev,
 						   va_priv->default_clk_id,