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

Commit 3963ba0a authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 96b95a55 on remote branch

Change-Id: Ie419e7d08b35d9cdddb8d5e46ccdbe0134e65a12
parents 1553465a 96b95a55
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -60,3 +60,8 @@ include $(MY_LOCAL_PATH)/asoc/codecs/wcd938x/Android.mk
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/wcd937x/Module.symvers)
include $(MY_LOCAL_PATH)/asoc/codecs/wcd937x/Android.mk
endif

ifeq ($(call is-board-platform-in-list, lito),true)
$(shell rm -rf $(PRODUCT_OUT)/obj/vendor/qcom/opensource/audio-kernel/asoc/codecs/wsa883x/Module.symvers)
include $(MY_LOCAL_PATH)/asoc/codecs/wsa883x/Android.mk
endif
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -227,6 +227,7 @@ ifeq ($(KERNEL_BUILD), 1)
	obj-y	+= wcd938x/
	obj-y	+= bolero/
	obj-y	+= rouleur/
	obj-y	+= wsa883x/
endif
# Module information used by KBuild framework
obj-$(CONFIG_WCD9XXX_CODEC_CORE) += wcd_core_dlkm.o
+9 −4
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include <soc/snd_event.h>
#include <linux/pm_runtime.h>
#include <soc/swr-common.h>
#include <dsp/digital-cdc-rsc-mgr.h>
#include "bolero-cdc.h"
#include "internal.h"
#include "bolero-clk-rsc.h"
@@ -1367,6 +1368,7 @@ static int bolero_remove(struct platform_device *pdev)
	return 0;
}

#ifdef CONFIG_PM
int bolero_runtime_resume(struct device *dev)
{
	struct bolero_priv *priv = dev_get_drvdata(dev->parent);
@@ -1379,7 +1381,7 @@ int bolero_runtime_resume(struct device *dev)
	}

	if (priv->core_hw_vote_count == 0) {
		ret = clk_prepare_enable(priv->lpass_core_hw_vote);
		ret = digital_cdc_rsc_mgr_hw_vote_enable(priv->lpass_core_hw_vote);
		if (ret < 0) {
			dev_err(dev, "%s:lpass core hw enable failed\n",
				__func__);
@@ -1397,7 +1399,7 @@ int bolero_runtime_resume(struct device *dev)
	}

	if (priv->core_audio_vote_count == 0) {
		ret = clk_prepare_enable(priv->lpass_audio_hw_vote);
		ret = digital_cdc_rsc_mgr_hw_vote_enable(priv->lpass_audio_hw_vote);
		if (ret < 0) {
			dev_err(dev, "%s:lpass audio hw enable failed\n",
				__func__);
@@ -1422,7 +1424,8 @@ int bolero_runtime_suspend(struct device *dev)
	mutex_lock(&priv->vote_lock);
	if (priv->lpass_core_hw_vote != NULL) {
		if (--priv->core_hw_vote_count == 0)
			clk_disable_unprepare(priv->lpass_core_hw_vote);
			digital_cdc_rsc_mgr_hw_vote_disable(
					priv->lpass_core_hw_vote);
		if (priv->core_hw_vote_count < 0)
			priv->core_hw_vote_count = 0;
	} else {
@@ -1434,7 +1437,8 @@ int bolero_runtime_suspend(struct device *dev)

	if (priv->lpass_audio_hw_vote != NULL) {
		if (--priv->core_audio_vote_count == 0)
			clk_disable_unprepare(priv->lpass_audio_hw_vote);
			digital_cdc_rsc_mgr_hw_vote_disable(
					priv->lpass_audio_hw_vote);
		if (priv->core_audio_vote_count < 0)
			priv->core_audio_vote_count = 0;
	} else {
@@ -1448,6 +1452,7 @@ int bolero_runtime_suspend(struct device *dev)
	return 0;
}
EXPORT_SYMBOL(bolero_runtime_suspend);
#endif /* CONFIG_PM */

bool bolero_check_core_votes(struct device *dev)
{
+4 −0
Original line number Diff line number Diff line
@@ -4135,6 +4135,10 @@ static const struct of_device_id rx_macro_dt_match[] = {
};

static const struct dev_pm_ops bolero_dev_pm_ops = {
	SET_SYSTEM_SLEEP_PM_OPS(
		pm_runtime_force_suspend,
		pm_runtime_force_resume
	)
	SET_RUNTIME_PM_OPS(
		bolero_runtime_suspend,
		bolero_runtime_resume,
+8 −3
Original line number Diff line number Diff line
@@ -980,11 +980,12 @@ static int tx_macro_enable_dec(struct snd_soc_dapm_widget *w,
		if (tx_unmute_delay < unmute_delay)
			tx_unmute_delay = unmute_delay;
		/* schedule work queue to Remove Mute */
		schedule_delayed_work(&tx_priv->tx_mute_dwork[decimator].dwork,
		queue_delayed_work(system_freezable_wq,
				   &tx_priv->tx_mute_dwork[decimator].dwork,
				   msecs_to_jiffies(tx_unmute_delay));
		if (tx_priv->tx_hpf_work[decimator].hpf_cut_off_freq !=
							CF_MIN_3DB_150HZ) {
			schedule_delayed_work(
			queue_delayed_work(system_freezable_wq,
				&tx_priv->tx_hpf_work[decimator].dwork,
				msecs_to_jiffies(hpf_delay));
			snd_soc_component_update_bits(component,
@@ -3297,6 +3298,10 @@ static const struct of_device_id tx_macro_dt_match[] = {
};

static const struct dev_pm_ops bolero_dev_pm_ops = {
	SET_SYSTEM_SLEEP_PM_OPS(
		pm_runtime_force_suspend,
		pm_runtime_force_resume
	)
	SET_RUNTIME_PM_OPS(
		bolero_runtime_suspend,
		bolero_runtime_resume,
Loading