Commit Graph

590 Commits

Author SHA1 Message Date
Sudheer Papothi
ba445bfe2d ASoC: codecs: Add support for LPASS Audio HW vote
Add support for LPASS Audio HW vote needed for low power AMIC
VA usecase.

Change-Id: If6642d418dbf2cc9773fbd0ec0fe35c30afac140
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-05-31 10:37:27 +05:30
qctecmdr
34b7d3b2fd Merge "ASoC: hide bind/unbind in sysfs" 2019-05-21 20:33:23 -07:00
qctecmdr
9a8c144a5a Merge "ASoC: wcd937x: Fix invalid memory access in wcd937x_suspend" 2019-05-21 20:29:26 -07:00
qctecmdr
8717168d90 Merge "asoc: codecs: bolero: Reset power mode register at teardown" 2019-05-21 20:25:28 -07:00
qctecmdr
c9a2aff3be Merge "audio-kernel: Add support to compile statically on Kona" 2019-05-21 20:23:41 -07:00
qctecmdr
3411218d88 Merge "asoc: codecs: bolero: Add adc1 condition to tx hold callback" 2019-05-21 20:21:11 -07:00
qctecmdr
edae774372 Merge "asoc: codecs: wcd938x: Read and store mic bias value" 2019-05-21 20:18:48 -07:00
Xiaojun Sang
53cd13a1ab ASoC: hide bind/unbind in sysfs
Exposure of driver bind/unbind to userspace via sysfs may
lead to unexpected behavior.
Hide bind and unbind by driver attribute.

Change-Id: I20d6ee653bcc16af15d6368664aaf240c6645cd0
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2019-05-17 15:00:33 +08:00
Karthikeyan Mani
c3d8c9f2c3 asoc: codecs: wcd938x: Read and store mic bias value
Mic bias value is needed in case of special headset
detection logic and the same needs to be read and stored
from device tree to be used by mbhc driver.

Change-Id: I11c8ac6b0abc7ba04b6750c59405794bc768dc42
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-15 15:22:28 -07:00
Karthikeyan Mani
70df516a60 asoc: codecs: bolero: Add adc1 condition to tx hold callback
TX hold callback returns without making a callback
to external codec if the ADC with number one is called.
Add the condition for the missing ADC to make the callback
for ADC1.

Change-Id: Iec480b40cfbe199fbe06151abd99d9ad6aaf9c9d
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-14 17:48:56 -07:00
Ramprasad Katkam
14efed6eb7 asoc: Ratelimit error logs
Ratelimit error logs to avoid excessive logging during
ssr/pdr.

Change-Id: Icdc9823cef5b070ed70cdd002bb3cd00d482a869
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2019-05-14 17:42:22 +08:00
Karthikeyan Mani
8e14752f35 audio-kernel: Add support to compile statically on Kona
Add include and source paths to support compilation
of audio drivers into kernel image on Kona.

Change-Id: I41b5ef7e5d20d517193e8295a61035a28692cb32
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-13 15:19:48 -07:00
Karthikeyan Mani
c141ca9e3d asoc: codecs: bolero: Reset power mode register at teardown
Reset the compander power mode register to default
value upon teardown sequence, so that at next startup
use case it has proper power value.

Change-Id: I851e8a62a910d7018ac74e93abee47a615b3e50c
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-13 14:43:41 -07:00
Vatsal Bucha
72753620d0 ASoC: wcd937x: Fix invalid memory access in wcd937x_suspend
Invalid memory access happens in wcd937x_suspend if
component bind for slave fails. This is because
as part of component_unbind devres_release_group is called
which removes every node from list and frees corresponding memory.
This results in invalid memory access for wcd937x in wcd937x_suspend.
Do kfree and set drvdata to NULL if component_bind fails
to resolve the issue.

Change-Id: Ia26eb36fe8b92ac0491b03d0d4a2b8def415148b
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-05-10 00:42:20 -07:00
qctecmdr
92f6eef9c7 Merge "asoc: wcd9335: Add support for SSR handling using SND event fwk" 2019-05-07 22:35:09 -07:00
qctecmdr
e7072b0ae4 Merge "asoc: codecs: Bail out from clock enable routine during SSR" 2019-05-07 22:35:09 -07:00
qctecmdr
1edd710786 Merge "asoc: codecs: bolero: Add checks before accessing allocated pointer" 2019-05-07 03:40:31 -07:00
qctecmdr
a1f6d79060 Merge "asoc: codecs: wcd938x: Add boundary checks before accessing array" 2019-05-07 03:37:35 -07:00
qctecmdr
280b241b40 Merge "ASoC: wcd937x: update micbias noise filter resistance" 2019-05-03 05:18:55 -07:00
Karthikeyan Mani
09d510c699 asoc: codecs: wcd938x: Add boundary checks before accessing array
Add null checks before pointer access and array boundary
checks in tx mode function.

Change-Id: I8c8b086b4aed4185b1d1aee68cc9e7c42da6ae27
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-01 16:45:49 -07:00
Karthikeyan Mani
9aca5b1f7a asoc: codecs: bolero: Add checks before accessing allocated pointer
Add null checks to regmap allocation and kalloc
failure cases.

Change-Id: I81c35672e43db671b4626fb47d706919b6a3e7f6
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-01 10:52:47 -07:00
qctecmdr
968764e0ce Merge "makefile: kona: remove make export <all variables> instances" 2019-05-01 04:56:32 -07:00
qctecmdr
b418f419b0 Merge "ASoC: wcd-mbhc: correct special headset detection logic" 2019-04-30 11:07:14 -07:00
qctecmdr
6bc6eec8ac Merge "asoc: wcd934x: Fix TX HPF setting update" 2019-04-30 11:05:08 -07:00
qctecmdr
eb7a9cb68e Merge "ASoC: bolero: Add Kcontrol to enable digital mute for WSA" 2019-04-30 11:00:34 -07:00
qctecmdr
1487c6d654 Merge "asoc: codecs: enable dynamic RX & TX supplies for WCD9335" 2019-04-30 10:59:58 -07:00
David Ng
4025a25a24 makefile: kona: remove make export <all variables> instances
Replace all kernel make export <all variables> instances with
export of specific variables.  Depending on existing build
environment, exporting all as environment variables and
interaction with existing environment variable expansions
can lead to undefined behavior.

TODO:  This change is restricted to kona flow to narrow impact.
All remaining export <all variables> need to be evaluated and
fixed similarly via subsequent changes.

Change-Id: I9114b88f7511d1b3f9b496b76fb6da9db97772b8
Signed-off-by: David Ng <dave@codeaurora.org>
2019-04-26 23:44:02 -07:00
Aditya Bavanari
f4a471de1a asoc: codecs: Bail out from clock enable routine during SSR
When SSR happens, use dev_up flag in codec
to bail out from clock enablement routine.
During interrupt processing if clock enable fails during
SSR, exit isr routine without disabling clock.

Change-Id: Ie2b56521daa70790d6ef53a06c7becc2ee8010a4
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-04-26 14:13:26 +08:00
qctecmdr
66ae68b936 Merge "Audio: Add lito target for audio-kernel" 2019-04-25 06:46:40 -07:00
Mangesh Kunchamwar
7f6fc83bc9 asoc: codecs: enable dynamic RX & TX supplies for WCD9335
Enable and vote RX and TX supplies dynamically during respective
usecases.

Change-Id: I671c14b34ce0325e102d94083905329d473d4a78
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2019-04-25 09:52:56 +08:00
qctecmdr
efdb8d9f66 Merge "ASoC: wcd937x: Fix mbhc detection failure after get logical address fails" 2019-04-24 10:08:04 -07:00
qctecmdr
3aedf2363b Merge "ASoC: bolero: va-macro: Fix clock sequence during path enable" 2019-04-24 10:06:00 -07:00
qctecmdr
89fb753e6a Merge "ASoC: wcd-spi: add SPI bus arbitration logic" 2019-04-23 20:36:21 -07:00
Sudheer Papothi
55789b7239 ASoC: bolero: va-macro: Fix clock sequence during path enable
Fix mismatch in TX clock count during three mic VA usecase.

Change-Id: I5f86fc8bf4f379e14ed8e15376f918b622bc221f
Signed-off-by: Sudheer Papothi <spapothi@quicinc.com>
2019-04-20 01:01:49 +05:30
Vatsal Bucha
d284ff1e0c Audio: Add lito target for audio-kernel
Add lito target for audio-kernel modules.

Change-Id: Ic8b43df74504950e4baad9701abeddcf8f30b420
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-04-19 11:14:56 -07:00
qctecmdr
23baae7456 Merge "asoc: Fix aux path noise issue" 2019-04-17 04:37:36 -07:00
Vatsal Bucha
f2a71b691b ASoC: bolero: Add Kcontrol to enable digital mute for WSA
Add Kcontrol to enable/disable digital mute for WSA RX0
and RX1.

Change-Id: Ib9ee2b01f142fdce5dab92eafe9c4b0c5d65844a
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-04-16 17:11:34 +08:00
Vatsal Bucha
eb7519911f ASoC: wcd937x: update micbias noise filter resistance
Update micbias noise filter resistance for better performance
during audio capture.

Change-Id: If80b967dd7f9bbf7e683c6da53a1aa93924c6877
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-04-16 15:20:39 +08:00
Meng Wang
37621b06ee ASoC: wcd-mbhc: correct special headset detection logic
When detecting special headset, vref for special headset is
set based on headset threshold reference 1800mv or based on
regular micbias settings from device tree. Scale threshold
reference as per the special headset micbias voltage.

Change-Id: Ic4cc24e18efeb420b53a2154707c9399eb886181
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2019-04-16 13:21:42 +08:00
Laxminath Kasam
260b769735 asoc: wcd934x: Fix TX HPF setting update
In case TX HPF mixer ctl set to 150Hz, go bit register
is not updated. Always update go bit along with
setting 150Hz at TX enable sequence.

CRs-Fixed: 2407902
Change-Id: I05b8a471cb2505d1ca5b290ea7ba35da5a534170
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-04-16 13:15:01 +08:00
Vatsal Bucha
d76b6b3ceb ASoC: wcd937x: Fix mbhc detection failure after get logical address fails
Get Logical Address failure comes after SSR during rigorous testing.
This calls removal of swr master device attached. Once removal occurs
further headset insertion/removal does not get detected. Do not remove
swr master device attached to fix the issue.

Change-Id: Iac78b4a12ef296566d082e75ac8905f73d6b2a47
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-04-15 17:26:23 -07:00
Bhalchandra Gajare
c5f43a1eec ASoC: wcd-spi: add SPI bus arbitration logic
On some platforms, WCD SPI bus can be shared with other processors
(ex: sensor processor). In such cases, there is need for software
to arbitrate the bus control. Add functionality to perform SPI bus
arbitration.

Change-Id: I7df933f55ac5035a55173a04e74b74f7af1f7ece
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2019-04-15 02:49:09 -07:00
qctecmdr
e039f16fa4 Merge "ASoC: Bolero: Vote for LPASS HW core during register access" 2019-04-14 23:24:39 -07:00
qctecmdr
d980ab306c Merge "ASoC: wcd938x: Add support for wcd938x codec variants" 2019-04-14 23:20:39 -07:00
qctecmdr
e35360a8ab Merge "ASoC: bolero: Enable RCO for VA usecase" 2019-04-14 23:18:37 -07:00
Laxminath Kasam
1a4dd6d9ac asoc: Fix aux path noise issue
Observing noise on aux path playback.
Update sequences on digital side and
swr port params as per latest HW sequence
recommendation.

Change-Id: Ic07ec35b091985ef0146957ceca830bd1162e7ec
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-04-12 11:27:09 +05:30
qctecmdr
0d9b09f760 Merge "asoc: codecs: add null check before access" 2019-04-10 13:41:16 -07:00
Sudheer Papothi
7601cc6db6 ASoC: Bolero: Vote for LPASS HW core during register access
Vote for LPASS HW core in soundwire clock request before
soundwire register access to avoid LPASS going to sleep.

Change-Id: I1e54ece19130cf6bd63fbf75a8a0716856c3b73e
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-04-10 12:45:29 -07:00
Sudheer Papothi
a7397947d3 ASoC: bolero: Enable RCO for VA usecase
Add support to enable RCO during VA usecase.

Change-Id: Ic6b640f62a8a88b5d5b616fc05798917913356ed
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-04-11 01:14:19 +05:30
qctecmdr
cab1c77976 Merge "ASoC: bolero: Enable TX clock during VA path setup" 2019-04-10 11:28:31 -07:00