From: ShinHyung Date: Tue, 19 Jun 2018 08:32:26 +0000 (+0900) Subject: [9610] ASoC: Changed the sequence in which ABOX enters suspend X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6a8f34edc6dca727a5bb5956bd12f3c5daeb3750;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [9610] ASoC: Changed the sequence in which ABOX enters suspend Change-Id: I4e9518c79c20a93d5ebafccb81a0053f44cfd69d Signed-off-by: ShinHyung --- diff --git a/arch/arm64/boot/dts/exynos/exynos9610-sysmmu.dtsi b/arch/arm64/boot/dts/exynos/exynos9610-sysmmu.dtsi index 8a1f78f2db7d..e71cd9adcc58 100644 --- a/arch/arm64/boot/dts/exynos/exynos9610-sysmmu.dtsi +++ b/arch/arm64/boot/dts/exynos/exynos9610-sysmmu.dtsi @@ -274,6 +274,7 @@ clock-names = "aclk"; clocks = <&clock GATE_SMMU_ABOX_QCH>; port-name = "ABox"; + sysmmu,hold-rpm-on-boot; sysmmu,no-suspend; sysmmu,no-rpm-control; sysmmu,tlb_property = diff --git a/drivers/soc/samsung/exynos-pd.c b/drivers/soc/samsung/exynos-pd.c index 8e278da7a388..fdc8a6a027dd 100644 --- a/drivers/soc/samsung/exynos-pd.c +++ b/drivers/soc/samsung/exynos-pd.c @@ -16,6 +16,8 @@ #include #include #include +#include + struct exynos_pm_domain *exynos_pd_lookup_name(const char *domain_name) { struct exynos_pm_domain *exypd = NULL; @@ -88,6 +90,9 @@ static void exynos_pd_power_off_pre(struct exynos_pm_domain *pd) if(cal_pd_status(pd->cal_pdid) && pd->bcm) bcm_pd_sync(pd->bcm, false); #endif + + if (!strcmp(pd->name, "pd-dispaud")) + abox_poweroff(); } static void exynos_pd_power_off_post(struct exynos_pm_domain *pd) diff --git a/sound/soc/samsung/abox/abox.c b/sound/soc/samsung/abox/abox.c index 05e3a1c69191..d221fba283a7 100644 --- a/sound/soc/samsung/abox/abox.c +++ b/sound/soc/samsung/abox/abox.c @@ -33,7 +33,7 @@ #include #include #include -//#include +#include #include #include @@ -5626,15 +5626,14 @@ void abox_poweroff(void) abox_disable(dev); - //exynos_sysmmu_control(dev, false); + exynos_sysmmu_control(dev, false); } static int abox_runtime_suspend(struct device *dev) { dev_dbg(dev, "%s\n", __func__); - //p_abox_data->enabled = false; - abox_disable(dev); + p_abox_data->enabled = false; return 0; } @@ -5643,7 +5642,7 @@ static int abox_runtime_resume(struct device *dev) { dev_dbg(dev, "%s\n", __func__); - //exynos_sysmmu_control(dev, true); + exynos_sysmmu_control(dev, true); return abox_enable(dev); }