diff options
author | Rhyland Klein <rklein@nvidia.com> | 2015-06-18 23:28:32 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2015-12-17 13:37:54 +0100 |
commit | 17e9273a9e00a1fc8a64d6de3c7bb9e5020b1b73 (patch) | |
tree | 89222073f3bc755fc0dcae9f8e127b6da574c19a /drivers/clk/tegra/clk-pll.c | |
parent | clk: tegra: pll: Add Set_default logic (diff) | |
download | linux-17e9273a9e00a1fc8a64d6de3c7bb9e5020b1b73.tar.xz linux-17e9273a9e00a1fc8a64d6de3c7bb9e5020b1b73.zip |
clk: tegra: pll: Add dyn_ramp callback
Add a callback to the pll_params for custom dynamic ramping
functions which can be specified per PLL.
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Bill Huang <bilhuang@nvidia.com>
Signed-off-by: Rhyland Klein <rklein@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/clk/tegra/clk-pll.c')
-rw-r--r-- | drivers/clk/tegra/clk-pll.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/clk/tegra/clk-pll.c b/drivers/clk/tegra/clk-pll.c index 1decca98008f..8901004025e7 100644 --- a/drivers/clk/tegra/clk-pll.c +++ b/drivers/clk/tegra/clk-pll.c @@ -669,6 +669,13 @@ static int _program_pll(struct clk_hw *hw, struct tegra_clk_pll_freq_table *cfg, _get_pll_mnp(pll, &old_cfg); + if (state && pll->params->defaults_set && pll->params->dyn_ramp && + (cfg->m == old_cfg.m) && (cfg->p == old_cfg.p)) { + ret = pll->params->dyn_ramp(pll, cfg); + if (!ret) + return 0; + } + if (state) _clk_pll_disable(hw); |