Tinymix set the array value of the mixer control one by one. The
channel number validation check here will cause failure in tinymix.
Allow 0 value here is fine because the parameters will be checked
before they are set at runtime.
Change-Id: I49c23f84aa081550434696dde96d2800e90390fb
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
In split A2DP sink ADM channels is set to mono based
on BE config. Add support to set ADM channels based
on decoder config received from BT IPC library.
Change-Id: I3925b805593871d420f4cfd3ce4b87adb0e03272
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Currently only Compress2 stream is using hw params as async ops
and hence the startup latency and setup sequence varies for this
usecase as compared to other compress playback streams.
Update qcs405 compress playback dai ops to mark hw params as async
for all compress playback FE dai entries, so that all compressed
playback streams have uniform latency and setup sequence.
Change-Id: Iac965b0ca1c059c49b9b0a985f70df7d382f7446
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
System suspend is not handled in lpi pinctrl driver.
Register to system ops to release lpass hw vote
before apps suspend.
CRs-Fixed: 2439988
Change-Id: I334a993ead5d2abec5286fb5812d67b795d03f3c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add mixer control for AFE loopback for
External Modem based Voice call support.
Change-Id: I379187b9b013a9c97cce3eab6a5a254e102d5ef2
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
Define channel map for channel count 14 for adm and asm to
support capture usecases for this configuration.
Change-Id: Ieb43dafd05f88bf34fa512fd7268258163e9ac92
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Check if the swr pointer obtained is not NULL before
dereferencing it.
Change-Id: I119141e5fd0b365789f8295d7b43867ede29dd8c
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>
In wcd_mbhc_adc_hs_rem_irq when hph_on bit is set
both left and right channel should get enabled. But we
enable left channel first, disable left ch and enable right channel.
Fix this to enable both left and right channel.
Change-Id: Ia50c55a0ed68e01359ef0a9c76eba6901a04e17c
Signed-off-by: Vatsal Bucha <vbucha@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>
'TWS Channel Mode' is missed due to afe_enc_config_controls
size changed.
Change-Id: Id6a08a7b360364bc94a6786f967ccc191666cefe
Signed-off-by: Zhou Song <zhous@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>
Update wsa aux codec matching logic in machine driver
to apply proper gain settings for wsa8810 variant.
Add null check for aux component name to avoid dereference.
Change-Id: Ie332f8e37a2d6b7a250fe299df91fa9cf9d7636b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Existing delay for soundwire to auto suspend is 3 secs. Reduce
the delay to 1 sec to improve the power numbers.
Change-Id: I0c13439567eb73b80897f4cf1bbcfb1eded94a9c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Hard coded stream id fails rtac call for subsequential gapless stream
which uses stream id other than default value. To get/set rtac for
gapless session successfully, we need to update the stream_id as a part
of asm apr header with correct value populated from asm session table.
Change-Id: If4afd73b4cf11bf91730a58ae6dff03efb04519d
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
Before proceeding with handling soundwire pm functions
check return value of vote for LPASS HW core and handle
error scenarios.
Change-Id: I4f48c93919a75ebbb072123a12306137118699d0
Signed-off-by: Karthikeyan Mani <kmani@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>
Remove static definition of size and index variables, which are
unique to each capture session. Static defintion of index variable
may incorrectly copy data from wrong memory offset. This might inject
silence/clutter in data copied to audio HAL.
CRs-Fixed: 2457887
Change-Id: I7b2f48d21545655ddaa13566ab4ea87a1cbd7424
Signed-off-by: Vignesh Kulothungan <vigneshk@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>
Currently ASoC core creates a static route b/w
playback/capture widgets of cpu and codec dai
if they are part of the same dai-link. However
this will cause codec path to get powered up first
followed by the backend dai start during device
switch use-case where the front-end is not closed,
leading to audio playback failure if either bit-width
or sample rate is different. Set the dynamic bit of
backend dai dailink to update the backend parameters
before codec path setup.
Change-Id: Ic80755a5672849f527d5d696d31174a62997aca2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>