diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2011-11-11 19:01:19 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:50:01 -0800 |
commit | f4fbf45d89ba27da05f37b35d0a67308df2a2a22 (patch) | |
tree | 8d30abdaf077c03f13359c6c300fab7d9d7fcd7e /sound/soc/tegra/tegra_asoc_utils.h | |
parent | 7285d4751fa2048bbe5e4981ac1afda09770ec89 (diff) |
ASoC: Tegra: Don't allow PLL rate change while it is in use
Expose a new API to lock pll_a, pll_a_out0 and mclk rates. Any dai-link
which sets any of these clocks should call this API from hwparam() to
lock these rates and should release the lock once dai-link shutdown
is called. When lock is held by any dai-link request for change in any
of these clocks will not be granted.
Bug 872652
Change-Id: I583b4849acde7e588531e60c6c5cd5156badb4f2
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-on: http://git-master/r/63828
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Rebase-Id: R044806997c82a11115a6a110196ac82402aceca5
Diffstat (limited to 'sound/soc/tegra/tegra_asoc_utils.h')
-rw-r--r-- | sound/soc/tegra/tegra_asoc_utils.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra_asoc_utils.h b/sound/soc/tegra/tegra_asoc_utils.h index 9d8471861d6e..72d3994a935f 100644 --- a/sound/soc/tegra/tegra_asoc_utils.h +++ b/sound/soc/tegra/tegra_asoc_utils.h @@ -34,10 +34,13 @@ struct tegra_asoc_utils_data { struct clk *clk_out1; int set_baseclock; int set_mclk; + int lock_count; }; int tegra_asoc_utils_set_rate(struct tegra_asoc_utils_data *data, int srate, int mclk); +void tegra_asoc_utils_lock_clk_rate(struct tegra_asoc_utils_data *data, + int lock); int tegra_asoc_utils_init(struct tegra_asoc_utils_data *data, struct device *dev); void tegra_asoc_utils_fini(struct tegra_asoc_utils_data *data); |