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

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

Merge "ASoC: wcd9330: fix to reduce SSR recovery latency"

parents c67f84f6 8aaa5488
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -6108,6 +6108,9 @@ static int tomtom_codec_enable_slimrx(struct snd_soc_dapm_widget *w,
						dai->grph);
		if (!dai->bus_down_in_recovery)
			ret = tomtom_codec_enable_slim_chmask(dai, false);
		else
			pr_debug("%s: bus in recovery skip enable slim_chmask",
				__func__);
		if (ret < 0) {
			ret = wcd9xxx_disconnect_port(core,
						      &dai->wcd9xxx_ch_list,
@@ -6115,8 +6118,6 @@ static int tomtom_codec_enable_slimrx(struct snd_soc_dapm_widget *w,
			pr_debug("%s: Disconnect RX port, ret = %d\n",
				 __func__, ret);
		}

		dai->bus_down_in_recovery = false;
		break;
	}
	return ret;
@@ -6194,8 +6195,6 @@ static int tomtom_codec_enable_slimvi_feedback(struct snd_soc_dapm_widget *w,
		/*Disable V&I sensing*/
		snd_soc_update_bits(codec, TOMTOM_A_SPKR1_PROT_EN,
				0x88, 0x00);

		dai->bus_down_in_recovery = false;
		break;
	}
out_vi:
@@ -6240,8 +6239,6 @@ static int __tomtom_codec_enable_slimtx(struct snd_soc_codec *codec,
				"%s: Disconnect TX port, ret = %d\n",
				 __func__, ret);
		}

		dai_data->bus_down_in_recovery = false;
		break;
	}

@@ -7714,6 +7711,7 @@ static void tomtom_init_slim_slave_cfg(struct snd_soc_codec *codec)

static int tomtom_device_down(struct wcd9xxx *wcd9xxx)
{
	int count;
	struct snd_soc_codec *codec;
	struct tomtom_priv *priv;

@@ -7723,6 +7721,8 @@ static int tomtom_device_down(struct wcd9xxx *wcd9xxx)
	snd_soc_card_change_online_state(codec->component.card, 0);
	set_bit(BUS_DOWN, &priv->status_mask);

	for (count = 0; count < NUM_CODEC_DAIS; count++)
		priv->dai[count].bus_down_in_recovery = true;
	return 0;
}

@@ -8259,7 +8259,6 @@ static int tomtom_post_reset_cb(struct wcd9xxx *wcd9xxx)
	struct snd_soc_codec *codec;
	struct tomtom_priv *tomtom;
	int rco_clk_rate;
	int count;

	codec = (struct snd_soc_codec *)(wcd9xxx->ssr_priv);
	tomtom = snd_soc_codec_get_drvdata(codec);
@@ -8314,9 +8313,6 @@ static int tomtom_post_reset_cb(struct wcd9xxx *wcd9xxx)
	if (ret)
		pr_err("%s: Failed to setup irq: %d\n", __func__, ret);

	for (count = 0; count < NUM_CODEC_DAIS; count++)
		tomtom->dai[count].bus_down_in_recovery = true;

	/*
	 * After SSR, the qfuse sensing is lost.
	 * Perform qfuse sensing again after SSR