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

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

Merge "ASoC: mdm8630: Fix to support for primary auxpcm"

parents 5698cb80 21388795
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -43,8 +43,8 @@
#define MDM_MI2S_RATE 48000

#define LPAIF_OFFSET 0xFE000000
#define LPAIF_PRI_MODE_MUXSEL (LPAIF_OFFSET + 0x2B000)
#define LPAIF_SEC_MODE_MUXSEL (LPAIF_OFFSET + 0x2C000)
#define LPAIF_PRI_MODE_MUXSEL (LPAIF_OFFSET + 0x34000)
#define LPAIF_SEC_MODE_MUXSEL (LPAIF_OFFSET + 0x35000)

#define I2S_SEL 0
#define I2S_PCM_SEL 1
@@ -505,7 +505,6 @@ static int mdm9630_mclk_event(struct snd_soc_dapm_widget *w,

static int mdm9630_auxpcm_startup(struct snd_pcm_substream *substream)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	int ret = 0;

	if (atomic_inc_return(&aux_ref_count) == 1) {
@@ -520,26 +519,15 @@ static int mdm9630_auxpcm_startup(struct snd_pcm_substream *substream)
			pr_err("%s, GPIO setup failed\n", __func__);
			return ret;
		}
		ret = mdm9630_mi2s_clk_ctl(rtd, true);
		if (ret < 0) {
			pr_err("set format for codec dai failed\n");
			return ret;
		}
	}
	return ret;
}

static void mdm9630_auxpcm_snd_shutdown(struct snd_pcm_substream *substream)
{
	struct snd_soc_pcm_runtime *rtd = substream->private_data;
	int ret;

	if (atomic_dec_return(&aux_ref_count) == 0) {
		mdm9630_mi2s_free_gpios(substream,
					   MDM_MI2S_AUXPCM_PRIM_INTF);
		ret = mdm9630_mi2s_clk_ctl(rtd, false);
		if (ret < 0)
			pr_err("%s:clock disable failed\n", __func__);
	}
}