Age | Commit message (Collapse) | Author |
|
WAR to check souncard data's avp_id before trying to set
DMA address. An invalid avp_id can cause invlaid rtd, causing
panic in control ioctl calls.
Bug 1046249
Bug 1044761
Bug 1049940
Bug 1050152
Change-Id: Ib536220fdb92f8256c777d6fa14b66e47bc6b7be
Signed-off-by: Shashank Sharma <shashanks@nvidia.com>
Reviewed-on: http://git-master/r/134426
(cherry picked from commit 007fd7b1ae101c5be2a3d35ad11e7190862c04ca)
Reviewed-on: http://git-master/r/142493
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Tested-by: Matthew Pedro <mapedro@nvidia.com>
Reviewed-by: Winnie Hsu <whsu@nvidia.com>
|
|
Add support for setting of DMA address through alsa control for AVP
rendering. This is required to directly do DMA from IRAM to I2S.
Bug 1024403
Change-Id: I6b79ae6e9a562160a19d238b817e1a8b407ac208
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-on: http://git-master/r/127436
(cherry picked from commit f270f46bef98a56f44432e608041adb617c22559)
Signed-off-by: Chandrakanth Gorantla <cgorantla@nvidia.com>
Change-Id: I195aae9043f967273283579f44d5367fe73d542f
Reviewed-on: http://git-master/r/129159
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Scott Peterson <speterson@nvidia.com>
|
|
Add master/slave configurability support interface for
all codecs. Currently, complete slave mode functionality
is added only for MAX98088 and WM8903 codec only. By
default, board parameters will set i2s master mode for
all codecs.
asoc: tegra: utils: add support for i2s master/slave mode.
Support for i2s in master or slave mode is made generic by
obtaining information from platform data.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: Ided0fcefb6cdb124b78aab423bfd8c7dccd4bf6e
Reviewed-on: http://git-master/r/111553
(cherry picked from commit bb1ad7222f9c75424a45976d16de418bc927dc04)
asoc: tegra: wm8903 machine: add support for i2s in slave mode.
Add support for i2s as slave for playback and capture use cases.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I1f6b73a0a1b690ecd311b0ff4107aadbb1f037d8
Reviewed-on: http://git-master/r/111472
(cherry picked from commit 0434f8ba74adefe60597d95d30a455b9b2ece9b8)
asoc: tegra: wm8753 machine: add support for i2s in slave mode.
Add support for i2s as slave for playback and capture use cases.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: Ib0596955cd0c6ac5ec57b0f3c6ecc9e4ed41268c
Reviewed-on: http://git-master/r/113208
(cherry picked from commit 0fc6b5e3a98d9f8866f73d7914b0c590334ce862)
asoc: tegra: aic326x machine: add support for i2s in slave mode.
Support for i2s in slave mode is added for playabck and capture
use cases.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I41f6459765f075703ad7f5f8dc9d4628dd853820
Reviewed-on: http://git-master/r/112874
(cherry picked from commit 9a89ede36a1dca6f53250444e819443fb6f28d09)
asoc: tegra: rt5640 machine: add support for i2s in slave mode.
Add support for i2s as slave for playback and capture use cases.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I850ec62149b8a8d244445b70658b632dbce06558
Reviewed-on: http://git-master/r/112878
(cherry picked from commit 1d51561c8edf47d8557a825450a48ee8743a185b)
asoc: tegra: max98088 machine: add support for codec i2s as slave.
Add support for codec i2s as slave during voice Call.
(Bug 998682)
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I8fc54d367e9acd5417d270869cb5a9398b3b527f
Reviewed-on: http://git-master/r/110559
(cherry picked from commit 78a490867e131b1cc892094ddd844c2b892cafb6)
asoc: tegra: max98095 machine: add support for i2s in slave mode.
Add support for i2s as slave for playback and capture use cases.
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I80944d403be94c55ad2ce31aea921d80ea7c088a
Reviewed-on: http://git-master/r/112875
Reviewed-on: http://git-master/r/118080
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Sumit Bhattacharya <sumitb@nvidia.com>
|
|
Add alsa controls to specify which alsa device is used by AVP to render
audio. Also add support for disabling DMA interrupt when AVP renders
audio. Also add couple of alsa controls to query DMA channel ID and
DMA buffer physical address.
Bug 968814
Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com>
Change-Id: If593329db72bf00d97f7433f5c54e13500281253
Reviewed-on: http://git-master/r/97916
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
|
|
Bug 949219
Change-Id: If7b4dd928cc5a808fd1a674bcc5f31c9a396a043
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/103772
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
|
|
The extern1 codec clock was not getting switched off whenever
codec goes below BIAS_OFF level. Moreover, there were two
instances of extern1 clock whenever codec was on. Reason behind
this was that, those codecs for which probe function was called
and were not present on board, turned on their extern1 clock, but
clean up routine (for switch device register failure) was not able
to turn off the clock. With this change, a conditional check is
put to turn off the clock.
(Bug 984678)
Signed-off-by: Ankit Gupta <ankitgupta@nvidia.com>
Change-Id: I585ecf73c0cabca856592dcd84e67588dfe13beb
Reviewed-on: http://git-master/r/104073
Reviewed-by: Automatic_Commit_Validation_User
Tested-by: Ankit Gupta (Engrg-SW) <ankitgupta@nvidia.com>
Reviewed-by: Prashant Gaikwad <pgaikwad@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
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>
|
|
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>
|
|
Change-Id: I0b2b50c007d9e7b722b2c4bbc0282c51a8d18b00
Reviewed-on: http://git-master/r/88239
Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com>
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|