mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-24 10:11:26 +03:00
ASoC: tegra-alt: Move register store/restore
Move register store/restore from pm API's to runtime API's for platforms, with CONFIG_PM_SLEEP not enabled, to work. Bug 200166409 Change-Id: Ifcdd78206b3ac59edc8ba1279316cfa8c87e7204 Signed-off-by: Uday Gupta <udayg@nvidia.com> Reviewed-on: http://git-master/r/932101 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Nitin Pai <npai@nvidia.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_admaif_alt.c - Tegra ADMAIF driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -222,6 +222,7 @@ static int tegra210_admaif_runtime_suspend(struct device *dev)
|
||||
struct tegra210_admaif *admaif = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(admaif->regmap, true);
|
||||
regcache_mark_dirty(admaif->regmap);
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
return 0;
|
||||
@@ -247,11 +248,6 @@ static int tegra210_admaif_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_admaif_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_admaif *admaif = dev_get_drvdata(dev);
|
||||
|
||||
if (admaif)
|
||||
regcache_mark_dirty(admaif->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_adx_alt.c - Tegra210 ADX driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -247,6 +247,7 @@ static int tegra210_adx_runtime_suspend(struct device *dev)
|
||||
struct tegra210_adx *adx = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(adx->regmap, true);
|
||||
regcache_mark_dirty(adx->regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -277,11 +278,6 @@ static int tegra210_adx_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_adx_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_adx *adx = dev_get_drvdata(dev);
|
||||
|
||||
if (adx)
|
||||
regcache_mark_dirty(adx->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_afc_alt.c - Tegra210 AFC driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -65,6 +65,7 @@ static int tegra210_afc_runtime_suspend(struct device *dev)
|
||||
struct tegra210_afc *afc = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(afc->regmap, true);
|
||||
regcache_mark_dirty(afc->regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -91,11 +92,6 @@ static int tegra210_afc_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_afc_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_afc *afc = dev_get_drvdata(dev);
|
||||
|
||||
if (afc)
|
||||
regcache_mark_dirty(afc->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_amx_alt.c - Tegra210 AMX driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -241,6 +241,7 @@ static int tegra210_amx_runtime_suspend(struct device *dev)
|
||||
struct tegra210_amx *amx = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(amx->regmap, true);
|
||||
regcache_mark_dirty(amx->regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -304,11 +305,6 @@ static int tegra210_amx_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_amx_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_amx *amx = dev_get_drvdata(dev);
|
||||
|
||||
if (amx)
|
||||
regcache_mark_dirty(amx->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_dmic_alt.c - Tegra210 DMIC driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -73,6 +73,7 @@ static int tegra210_dmic_runtime_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_dmic *dmic = dev_get_drvdata(dev);
|
||||
regcache_cache_only(dmic->regmap, true);
|
||||
regcache_mark_dirty(dmic->regmap);
|
||||
|
||||
if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga()))
|
||||
clk_disable_unprepare(dmic->clk_dmic);
|
||||
@@ -110,11 +111,6 @@ static int tegra210_dmic_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_dmic_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_dmic *dmic = dev_get_drvdata(dev);
|
||||
|
||||
if (dmic)
|
||||
regcache_mark_dirty(dmic->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_i2s.c - Tegra210 I2S driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -260,6 +260,7 @@ static int tegra210_i2s_runtime_suspend(struct device *dev)
|
||||
}
|
||||
|
||||
regcache_cache_only(i2s->regmap, true);
|
||||
regcache_mark_dirty(i2s->regmap);
|
||||
|
||||
clk_disable_unprepare(i2s->clk_i2s);
|
||||
} else
|
||||
@@ -312,11 +313,6 @@ static int tegra210_i2s_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_i2s_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_i2s *i2s = dev_get_drvdata(dev);
|
||||
|
||||
if (i2s)
|
||||
regcache_mark_dirty(i2s->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_iqc.c - Tegra210 IQC driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -49,6 +49,7 @@ static int tegra210_iqc_runtime_suspend(struct device *dev)
|
||||
struct tegra210_iqc *iqc = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(iqc->regmap, true);
|
||||
regcache_mark_dirty(iqc->regmap);
|
||||
|
||||
#ifndef CONFIG_MACH_GRENADA
|
||||
clk_disable_unprepare(iqc->clk_iqc);
|
||||
@@ -86,11 +87,6 @@ static int tegra210_iqc_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_iqc_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_iqc *iqc = dev_get_drvdata(dev);
|
||||
|
||||
if (iqc)
|
||||
regcache_mark_dirty(iqc->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_mixer_alt.c - Tegra210 MIXER driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -80,6 +80,7 @@ static int tegra210_mixer_runtime_suspend(struct device *dev)
|
||||
struct tegra210_mixer *mixer = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(mixer->regmap, true);
|
||||
regcache_mark_dirty(mixer->regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -106,11 +107,6 @@ static int tegra210_mixer_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_mixer_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_mixer *mixer = dev_get_drvdata(dev);
|
||||
|
||||
if (mixer)
|
||||
regcache_mark_dirty(mixer->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_ope_alt.c - Tegra210 OPE driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -52,6 +52,9 @@ static int tegra210_ope_runtime_suspend(struct device *dev)
|
||||
regcache_cache_only(ope->mbdrc_regmap, true);
|
||||
regcache_cache_only(ope->peq_regmap, true);
|
||||
regcache_cache_only(ope->regmap, true);
|
||||
regcache_mark_dirty(ope->regmap);
|
||||
regcache_mark_dirty(ope->peq_regmap);
|
||||
regcache_mark_dirty(ope->mbdrc_regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -82,14 +85,6 @@ static int tegra210_ope_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_ope_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_ope *ope = dev_get_drvdata(dev);
|
||||
|
||||
if (ope) {
|
||||
regcache_mark_dirty(ope->regmap);
|
||||
regcache_mark_dirty(ope->peq_regmap);
|
||||
regcache_mark_dirty(ope->mbdrc_regmap);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_sfc_alt.c - Tegra210 SFC driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -67,6 +67,7 @@ static int tegra210_sfc_runtime_suspend(struct device *dev)
|
||||
struct tegra210_sfc *sfc = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(sfc->regmap, true);
|
||||
regcache_mark_dirty(sfc->regmap);
|
||||
|
||||
pm_runtime_put_sync(dev->parent);
|
||||
|
||||
@@ -93,11 +94,6 @@ static int tegra210_sfc_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_sfc_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_sfc *sfc = dev_get_drvdata(dev);
|
||||
|
||||
if (sfc)
|
||||
regcache_mark_dirty(sfc->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -61,6 +61,7 @@ static int tegra210_spdif_runtime_suspend(struct device *dev)
|
||||
struct tegra210_spdif *spdif = dev_get_drvdata(dev);
|
||||
|
||||
regcache_cache_only(spdif->regmap, true);
|
||||
regcache_mark_dirty(spdif->regmap);
|
||||
if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) {
|
||||
clk_disable_unprepare(spdif->clk_spdif_out);
|
||||
clk_disable_unprepare(spdif->clk_spdif_in);
|
||||
@@ -105,11 +106,6 @@ static int tegra210_spdif_runtime_resume(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int tegra210_spdif_suspend(struct device *dev)
|
||||
{
|
||||
struct tegra210_spdif *spdif = dev_get_drvdata(dev);
|
||||
|
||||
if (spdif)
|
||||
regcache_mark_dirty(spdif->regmap);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_xbar_alt.c - Tegra210 XBAR driver
|
||||
*
|
||||
* Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2016 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -58,6 +58,7 @@ static const struct regmap_config tegra210_xbar_regmap_config = {
|
||||
static int tegra210_xbar_runtime_suspend(struct device *dev)
|
||||
{
|
||||
regcache_cache_only(xbar->regmap, true);
|
||||
regcache_mark_dirty(xbar->regmap);
|
||||
|
||||
if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) {
|
||||
clk_disable_unprepare(xbar->clk);
|
||||
@@ -109,7 +110,6 @@ static int tegra210_xbar_child_suspend(struct device *dev, void *data)
|
||||
|
||||
static int tegra210_xbar_suspend(struct device *dev)
|
||||
{
|
||||
regcache_mark_dirty(xbar->regmap);
|
||||
device_for_each_child(dev, NULL, tegra210_xbar_child_suspend);
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user