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>
Resource lock should not be held while doing bank
switch as bank switch requires interrupt handling
which needs access to the resource lock.
Change-Id: Ic17178c7e6f16a7db91da6577ed2ce70c9c9f084
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
For TDM/MI2S/AUXPCM, add lpi gpio support for kona.
Change-Id: Ie23caaaa0243c84dfc8a6ee0e3e0e002bf0c18d8
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
skip port disable when master is already down to avoid
queuing commands to master which is already down due to ssr/pdr.
Change-Id: I7fadc479784feb0fd8afa229599eb217bb579ea2
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
PBE values are misinterpreted when transferring from userspace to kernel
via mixer ctl interface. Config values have to be copied one by one rather
than copying through continuous memory.
CRs-Fixed: 2458428
Change-Id: I375498f0f511d21bd14873cc9394305acbc25e50
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
Add machine driver interface for 615x to support dynamic loading
of kernel module.
Change-Id: I5691c2730d31390d6f6b4ce30794182421dc1861
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>