Update TX requantizer gain coefficients to center
gain errors around zero. To reduce click and pop
on audio playback enable reference buffers of
headphone path in hifi mode and then put it to
the usecase specific power mode.
Change-Id: I0013d6258d5e5a8c92fd0f951d1d89e5906b2faf
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add compander soft reset event that can be requested
from a slave codec to reset at power down to reduce
click and pop noise.
Change-Id: I2f6ff182e258e02979166b0e76b6a1d439b1cf87
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Defer codec macro probes if soundwire pins are not
ready to be accessed yet during boot up.
Change-Id: I20173e49043a076d73cdbb811863afbff87d4a3b
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Micb lock which is used to synchronize micbias
control api is not initialized causing spin lock
errors. Initialize the mutex to avoid the issue.
Change-Id: I98c50fec8e8531333de643a85433d3e5973bfd14
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Fix the volatile register function to return false
if the registers are not volatile so that the reads
will happen from cache and this improves read timing.
Change-Id: I73149be3855be09a71ad61a6f3143038a7ba029b
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Handle PDM watchdog interrupt. Enable watchdog
before analog PA is enabled and disable it
after analog PA is disabled so as to prevent false alarms.
Change-Id: Id45dee1a150c471d1bb29b9bfed9f416b8454a5f
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add updates to AUX control registers and headphone
and ear path power mode registers.
Change-Id: I7a6b0f23a28a6ab9189c946a78a2f376937d7509
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add codec enable and disable sequences for class ab
low power modes.
Change-Id: If5b54075985c2d4d1a24423c03e78bee119862bc
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Remove extra semi-colon from wsa_macro_set_spkr_gain_offset to
avoid compile error when wsa-macro is disabled.
Change-Id: Ic94e78822639d70a365c714ad7dd0b2091de8179
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add changes to support disabling of soundwire devices
so that soundwire pins can be freed for other purposes
if needed.
Change-Id: Iae14d43c2c3d5380347be4c3b443c209b2612a97
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Update DMIC enable sequence on WCD938x codec to support
audio capture on WCD DMICs.
Change-Id: I432bbc3a89ad6cbf968fa6474b9bbeb4924e2791
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Remove unused audio map routing from bolero codec to avoid
index mismatch for mic path enablement.
Change-Id: I09365f54ac5906df9568c78db902000a2dd790eb
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
After SSR/PDR, the lpass clocks will be in off state. Force restart
clocks after SSR/PDR, if enabled before SSR/PDR, to reenable the clocks.
Change-Id: I3d850d92bdc6324aa7a64a83a9066f388a85c7f7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
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>
Some bolero codec registers are not correctly restored after
SSR and causes DMICs on bolero don't work. Add this change to
restore all bolero codec registers after SSR.
Change-Id: I3666a77f802f62452a0e0de4859f48a0f9e5cbb1
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Boost level max setting can be left to default
and not needed to be limited to any value.
Change-Id: Iab5073cedd6e69bb4311af9af54ff409d8bfd24c
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Do not disable tx macro clk when it's not enabled during
SSR/PDR to avoid clk count mismatch.
Change-Id: I69a59cff9cb57ef3dea366c73629c3eddcb19abe
Signed-off-by: Meng Wang <mengw@codeaurora.org>
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>
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>
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>
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>
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>
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>
Fix issue in clock sequence when switching between VA clock to
TX clock and viceversa during VA usecase.
Change-Id: I4a7d423916b70b4b3c54d0d9a28b8ea874584525
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>