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

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

Merge "ASoC: sdm660: Remove LPI gpio configuration for codec interrupt"

parents 854975ee 5bcedc5f
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -3186,8 +3186,6 @@ static int msm_asoc_machine_probe(struct platform_device *pdev)
		gpio_free(pdata->hph_en0_gpio);
		pdata->hph_en0_gpio = 0;
	}
	if (pdata->snd_card_val != INT_SND_CARD)
		msm_ext_cdc_deinit(pdata);
	devm_kfree(&pdev->dev, pdata);
	return ret;
}
@@ -3199,10 +3197,8 @@ static int msm_asoc_machine_remove(struct platform_device *pdev)

	if (pdata->snd_card_val == INT_SND_CARD)
		mutex_destroy(&pdata->cdc_int_mclk0_mutex);
	else
		msm_ext_cdc_deinit(pdata);
	msm_free_auxdev_mem(pdev);

	msm_free_auxdev_mem(pdev);
	gpio_free(pdata->us_euro_gpio);
	gpio_free(pdata->hph_en1_gpio);
	gpio_free(pdata->hph_en0_gpio);
+0 −9
Original line number Diff line number Diff line
@@ -78,14 +78,6 @@ enum {
	EXT_SND_CARD_TAVIL,
};

struct msm_snd_interrupt {
	void __iomem *mpm_wakeup;
	void __iomem *intr1_cfg_apps;
	void __iomem *lpi_gpio_intr_cfg;
	void __iomem *lpi_gpio_cfg;
	void __iomem *lpi_gpio_inout;
};

struct msm_asoc_mach_data {
	int us_euro_gpio; /* used by gpio driver API */
	int hph_en1_gpio;
@@ -112,7 +104,6 @@ struct msm_asoc_mach_data {
	struct mutex cdc_int_mclk0_mutex;
	struct delayed_work disable_int_mclk0_work;
	struct afe_clk_set digital_cdc_core_clk;
	struct msm_snd_interrupt msm_snd_intr_lpi;
};

int msm_common_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
+0 −68
Original line number Diff line number Diff line
@@ -34,22 +34,6 @@
#define CODEC_EXT_CLK_RATE          9600000
#define ADSP_STATE_READY_TIMEOUT_MS 3000

#define TLMM_CENTER_MPM_WAKEUP_INT_EN_0 0x03596000
#define LPI_GPIO_22_WAKEUP_VAL 0x00000002

#define TLMM_LPI_DIR_CONN_INTR1_CFG_APPS 0x0359D004
#define LPI_GPIO_22_INTR1_CFG_VAL 0x01
#define LPI_GPIO_22_INTR1_CFG_MASK 0x03

#define TLMM_LPI_GPIO_INTR_CFG1  0x0359B004
#define LPI_GPIO_INTR_CFG1_VAL 0x00000113

#define TLMM_LPI_GPIO22_CFG  0x15078040
#define LPI_GPIO22_CFG_VAL 0x0000009

#define TLMM_LPI_GPIO22_INOUT  0x179D1318
#define LPI_GPIO22_INOUT_VAL 0x0020000

#define WSA8810_NAME_1 "wsa881x.20170211"
#define WSA8810_NAME_2 "wsa881x.20170212"

@@ -1208,28 +1192,6 @@ static void msm_afe_clear_config(void)
	afe_clear_config(AFE_SLIMBUS_SLAVE_CONFIG);
}

static void msm_snd_interrupt_config(struct msm_asoc_mach_data *pdata)
{
	int val;

	val = ioread32(pdata->msm_snd_intr_lpi.mpm_wakeup);
	val |= LPI_GPIO_22_WAKEUP_VAL;
	iowrite32(val, pdata->msm_snd_intr_lpi.mpm_wakeup);

	val = ioread32(pdata->msm_snd_intr_lpi.intr1_cfg_apps);
	val &= ~(LPI_GPIO_22_INTR1_CFG_MASK);
	val |= LPI_GPIO_22_INTR1_CFG_VAL;
	iowrite32(val, pdata->msm_snd_intr_lpi.intr1_cfg_apps);

	iowrite32(LPI_GPIO_INTR_CFG1_VAL,
			pdata->msm_snd_intr_lpi.lpi_gpio_intr_cfg);
	iowrite32(LPI_GPIO22_CFG_VAL,
			pdata->msm_snd_intr_lpi.lpi_gpio_cfg);
	val = ioread32(pdata->msm_snd_intr_lpi.lpi_gpio_inout);
	val |= LPI_GPIO22_INOUT_VAL;
	iowrite32(val, pdata->msm_snd_intr_lpi.lpi_gpio_inout);
}

static int msm_adsp_power_up_config(struct snd_soc_codec *codec)
{
	int ret = 0;
@@ -1261,7 +1223,6 @@ static int msm_adsp_power_up_config(struct snd_soc_codec *codec)
		ret = -ETIMEDOUT;
		goto err_fail;
	}
	msm_snd_interrupt_config(pdata);

	ret = msm_afe_set_config(codec);
	if (ret)
@@ -1882,36 +1843,7 @@ int msm_ext_cdc_init(struct platform_device *pdev,
			ret);
		ret = 0;
	}
	pdata->msm_snd_intr_lpi.mpm_wakeup =
			ioremap(TLMM_CENTER_MPM_WAKEUP_INT_EN_0, 4);
	pdata->msm_snd_intr_lpi.intr1_cfg_apps =
			ioremap(TLMM_LPI_DIR_CONN_INTR1_CFG_APPS, 4);
	pdata->msm_snd_intr_lpi.lpi_gpio_intr_cfg =
			ioremap(TLMM_LPI_GPIO_INTR_CFG1, 4);
	pdata->msm_snd_intr_lpi.lpi_gpio_cfg =
			ioremap(TLMM_LPI_GPIO22_CFG, 4);
	pdata->msm_snd_intr_lpi.lpi_gpio_inout =
			ioremap(TLMM_LPI_GPIO22_INOUT, 4);
err:
	return ret;
}
EXPORT_SYMBOL(msm_ext_cdc_init);

/**
 * msm_ext_cdc_deinit - external codec machine specific deinit.
 */
void msm_ext_cdc_deinit(struct msm_asoc_mach_data *pdata)
{
	if (pdata->msm_snd_intr_lpi.mpm_wakeup)
		iounmap(pdata->msm_snd_intr_lpi.mpm_wakeup);
	if (pdata->msm_snd_intr_lpi.intr1_cfg_apps)
		iounmap(pdata->msm_snd_intr_lpi.intr1_cfg_apps);
	if (pdata->msm_snd_intr_lpi.lpi_gpio_intr_cfg)
		iounmap(pdata->msm_snd_intr_lpi.lpi_gpio_intr_cfg);
	if (pdata->msm_snd_intr_lpi.lpi_gpio_cfg)
		iounmap(pdata->msm_snd_intr_lpi.lpi_gpio_cfg);
	if (pdata->msm_snd_intr_lpi.lpi_gpio_inout)
		iounmap(pdata->msm_snd_intr_lpi.lpi_gpio_inout);

}
EXPORT_SYMBOL(msm_ext_cdc_deinit);
+0 −4
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@ int msm_snd_card_tasha_late_probe(struct snd_soc_card *card);
int msm_ext_cdc_init(struct platform_device *, struct msm_asoc_mach_data *,
		     struct snd_soc_card **, struct wcd_mbhc_config *);
void msm_ext_register_audio_notifier(struct platform_device *pdev);
void msm_ext_cdc_deinit(struct msm_asoc_mach_data *pdata);
#else
inline int msm_ext_cdc_init(struct platform_device *pdev,
			    struct msm_asoc_mach_data *pdata,
@@ -49,8 +48,5 @@ inline int msm_ext_cdc_init(struct platform_device *pdev,
inline void msm_ext_register_audio_notifier(struct platform_device *pdev)
{
}
inline void msm_ext_cdc_deinit(void)
{
}
#endif
#endif