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

Commit 9c864c90 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: wcd9335: Change RX disconnect port sequence"

parents cd528094 d685220d
Loading
Loading
Loading
Loading
+7 −3
Original line number Original line Diff line number Diff line
@@ -2741,7 +2741,8 @@ static int tasha_codec_enable_slim_chmask(struct wcd9xxx_codec_dai_data *dai,
					 msecs_to_jiffies(
					 msecs_to_jiffies(
						TASHA_SLIM_CLOSE_TIMEOUT));
						TASHA_SLIM_CLOSE_TIMEOUT));
		if (!ret) {
		if (!ret) {
			pr_err("%s: Slim close tx/rx wait timeout\n", __func__);
			pr_err("%s: Slim close tx/rx wait timeout, ch_mask:0x%lx\n",
				__func__, dai->ch_mask);
			ret = -ETIMEDOUT;
			ret = -ETIMEDOUT;
		} else {
		} else {
			ret = 0;
			ret = 0;
@@ -2785,18 +2786,21 @@ static int tasha_codec_enable_slimrx(struct snd_soc_dapm_widget *w,
					      &dai->grph);
					      &dai->grph);
		break;
		break;
	case SND_SOC_DAPM_POST_PMD:
	case SND_SOC_DAPM_POST_PMD:
		tasha_codec_vote_max_bw(codec, true);
		ret = wcd9xxx_disconnect_port(core, &dai->wcd9xxx_ch_list,
		ret = wcd9xxx_disconnect_port(core, &dai->wcd9xxx_ch_list,
					      dai->grph);
					      dai->grph);
		dev_dbg(codec->dev, "%s: Disconnect RX port, ret = %d\n",
		dev_dbg(codec->dev, "%s: Disconnect RX port, ret = %d\n",
			__func__, ret);
			__func__, ret);
		ret = wcd9xxx_close_slim_sch_rx(core, &dai->wcd9xxx_ch_list,

						dai->grph);
		if (!dai->bus_down_in_recovery)
		if (!dai->bus_down_in_recovery)
			ret = tasha_codec_enable_slim_chmask(dai, false);
			ret = tasha_codec_enable_slim_chmask(dai, false);
		else
		else
			dev_dbg(codec->dev,
			dev_dbg(codec->dev,
				"%s: bus in recovery skip enable slim_chmask",
				"%s: bus in recovery skip enable slim_chmask",
				__func__);
				__func__);
		ret = wcd9xxx_close_slim_sch_rx(core, &dai->wcd9xxx_ch_list,
						dai->grph);
		tasha_codec_vote_max_bw(codec, false);
		break;
		break;
	}
	}
	return ret;
	return ret;