summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra_asoc_utils.c
AgeCommit message (Collapse)Author
2012-04-26ASoC: Tegra: Pass snd_soc_card handle in tegra_asoc_utils_initSumit Bhattacharya
Change prototype of tegra_asoc_utils_init to pass snd_soc_card handle. It is needed to move common tegra machine driver codes to tegra_asoc_utils interface. Bug 968814 Change-Id: I98490ffdda51cf7d0b89adadb23c31892183bc0e Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/97914 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
2012-04-19ASoC: resolve compilation time warningsSanjay Singh Rawat
bug 949219 Change-Id: I52969e8dd1a5ed4dc76ac360ec08b0afb18cd4a5 Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com> Reviewed-on: http://git-master/r/92833 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
2012-03-13asoc: machine: add api to query voice call stateNikesh Oswal
Change-Id: I0b2b50c007d9e7b722b2c4bbc0282c51a8d18b00 Reviewed-on: http://git-master/r/88239 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
2012-01-30asoc:tegra: Support I2S slave modeScottPeterson
Support I2S slave mode. Disable pll_p_out1 and pll_a to reduce power when in slave mode. Slave mode disabled by default. Reviewed-on: http://git-master/r/76046 Change-Id: I873a11d54f1e037d99c86ff4cec06ee83064902a Signed-off-by: ScottPeterson <speterson@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-on: http://git-master/r/77765 Reviewed-by: Automatic_Commit_Validation_User
2011-11-30ASoC: Tegra: Don't allow PLL rate change while it is in useSumit Bhattacharya
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
2011-11-30asoc: tegra: add code to enable/disable clocksNikesh Oswal
add code to enable/disable pll_a and cdev1 clocks Bug: 862023 Change-Id: If5b6014f82651e2286802ba6d76f77b1b5419b41 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/61085 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: Rddb3206531e76e7ea28df691f6aa86a50f7c66d0
2011-11-30ASoC: Tegra: utils: Add support for Tegra30 devicesStephen Warren
Tegra30 has some additional clocks that need to be manipulated, names some clocks differently, runs PLLs at different base rates, etc. The utility code needs to handle this. Signed-off-by: Stephen Warren <swarren@nvidia.com> Rebase-Id: R295313c25d9eae15a7cc423953f50f9132790c9e
2011-04-20ASoC: Tegra: Don't return mclk_changed from utils_set_rateStephen Warren
Only the clock programming code needs to know whether the clocks changed, and that is encapsulated within tegra_asoc_utils_set_rate(). The machine driver's call to snd_soc_dai_set_sysclk(codec_dai, ...) is safe irrespective of whether the clocks changed. (Applying Mark's TrimSlice review comments to the existing driver) Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-02-25ASoC: Tegra: Move utilities to separate moduleStephen Warren
The utilities will be required by every machine driver. Including the utility object directly into every machine driver causes a build failure if the modules are actually built into the kernel, since each will define the symbols exported by the utility file. Solve this by moving the utility object into a separate module. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-01-31ASoC: Tegra: utils: Don't use global variablesStephen Warren
Instead, have the machine driver provide storage for the utility data somehow. For Harmony in particular, store this within struct tegra_harmony, itself referenced by snd_soc_card's drvdata. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-01-13ASoC: tegra: s/IS_ERR_OR_NULL/IS_ERR/ for clk_get_sysStephen Warren
A recent discussion on linux-arm-kernel noted that the value returned by clk_get_sys is an opaque token, and not strictly a pointer; it is meaningful only to the clock API, clients should not dereference the value, and the clock API must accept any non-IS_ERR value it returned. Hence, only IS_ERR is appropriate to interpret the result, not IS_ERR_OR_NULL. I checked that clk_get_sys in both ASoC's for-next and Tegra's for-next do behave as described; NULL is not returned in the case of error. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2011-01-10ASoC: tegra: Machine utility codeStephen Warren
Many portions of Tegra ASoC machine drivers will be similar or identical. To avoid cut/paste, this file will act as a repository for all that common code. For now, it solely includes code to reprogram the audio PLL for 44.1KHz- vs. 48KHz-based sample rates. Signed-Off-By: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>