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

Commit 9f9e3693 authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: wcd934x-dsp-cntl: fix the reset sequence" into msm-4.9

parents 99bf612d 17ad5577
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -401,6 +401,8 @@ static int wcd_cntl_clocks_enable(struct wcd_dsp_cntl *cntl)
			__func__, ret);
		goto done;
	}
	/* Pull CPAR out of reset */
	snd_soc_update_bits(codec, WCD934X_CPE_SS_CPAR_CTL, 0x04, 0x00);

	/* Configure and Enable CPE FLL clock */
	ret = wcd_cntl_cpe_fll_ctrl(cntl, true);
@@ -422,6 +424,7 @@ static int wcd_cntl_clocks_enable(struct wcd_dsp_cntl *cntl)
	if (cntl->cdc_cb && cntl->cdc_cb->cdc_clk_en)
		cntl->cdc_cb->cdc_clk_en(codec, false);

	snd_soc_update_bits(codec, WCD934X_CPE_SS_CPAR_CTL, 0x04, 0x04);
	WCD_CNTL_MUTEX_UNLOCK(codec, cntl->clk_mutex);
	return ret;
}
@@ -458,6 +461,9 @@ static int wcd_cntl_clocks_disable(struct wcd_dsp_cntl *cntl)
		ret = -EINVAL;

	cntl->is_clk_enabled = false;

	/* Put CPAR in reset */
	snd_soc_update_bits(codec, WCD934X_CPE_SS_CPAR_CTL, 0x04, 0x04);
done:
	WCD_CNTL_MUTEX_UNLOCK(codec, cntl->clk_mutex);
	return ret;
@@ -469,9 +475,9 @@ static void wcd_cntl_cpar_ctrl(struct wcd_dsp_cntl *cntl,
	struct snd_soc_codec *codec = cntl->codec;

	if (enable)
		snd_soc_write(codec, WCD934X_CPE_SS_CPAR_CTL, 0x03);
		snd_soc_update_bits(codec, WCD934X_CPE_SS_CPAR_CTL, 0x03, 0x03);
	else
		snd_soc_write(codec, WCD934X_CPE_SS_CPAR_CTL, 0x00);
		snd_soc_update_bits(codec, WCD934X_CPE_SS_CPAR_CTL, 0x03, 0x00);
}

static int wcd_cntl_enable_memory(struct wcd_dsp_cntl *cntl,