Update VA macro clock sequence for headset detection during
voice activation usecase to avoid soundwire bus clash interrupts.
Change-Id: Ic004d43aef9c8a9003b3028c122e6fb6a06fa58d
Signed-off-by: Sudheer Papothi <spapothi@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>
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>
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>
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>
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>
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>
Add support to enable RCO during VA usecase.
Change-Id: Ic6b640f62a8a88b5d5b616fc05798917913356ed
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add Bolero clock resource manager driver to handle/manage
bolero clocks for all the concurrency usecases like record
+ voice activation.
Change-Id: I970a05d96fc9060b44bfe670d465f0b9d72cc53b
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add DAPM widgets for soundwire clock on Tx path and
VA path to enable the desired clock source based on
the usecase.
Change-Id: I48b04e63317cefd8bf12d58b002efb37087f8dc2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Enable soundwire gpio before enabling soundwire clock
so that bus clash does not happen when interrupts are
received.
Change-Id: I40983b8837373f1ea7ac8fa6add7c56225ff0592
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Frame sync of bolero macros need to be at 4KHz default
value.
Change-Id: Ia5399a3c4bee7e0f74115e5ffcb1ed51cbd07639
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add all combination of routes between adc and
available mic paths.
Change-Id: If5781509bdc667d94ca1ad991388a8d57af75b94
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
If mclk enable is failed during mclk widget power up event, it would
still send a power down event for the widget during disable, which could
disable the mclk voted by other client like soundwire. Do not disable
mclk during power down if enable is failed during power up.
Change-Id: If782b34f9ef414501590ed8cf681bbe58f1dda76
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Invoke swr device down callback to set soundwire master
to reset state before setting ssr down flag. This is to
ensure master is reset to proper state after ssr/pdr.
Change-Id: Ifb5548f603ac03b772006314f4723c0ac0176928
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Reset swr only during init or ssr-pdr scenarios.
Do not reset swr during clock stop, which would
result in bad state of master and cause error
interrupts.
Change-Id: I88e071921409a5b5797aeedb8e7cb57cb5d5bb9a
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Correct name of widgets for tx macro from
TX SWR_MIC to TX SWR_DMIC. Also assign codec pointer
to rx_priv before calling rx_macro_init_bcl_pmic_reg.
Change-Id: I268d79413c53bcd2d8e7a391859b71b7a7e3f64e
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Add support to get the platform specific soundwire port configuration
for soundwire master ports.
Change-Id: Ie1d32a77d534f6c3f397936b85c025b14d01f321
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Some alsa API are removed in kernel-4.19 which would cause
codec driver compile failure. Update codec driver to fix it.
Change-Id: Ie358ec1863082166958059c179300b453d2a03ad
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Switch audio drivers to SPDX identifier on msm-4.19.
Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add reg_wake_irq macro callback and issue an event
from Tx macro to Tx sound wire master instance
in order to register for wake irq and to handle
the ipc wake up interrupt.
Change-Id: Iefddc1f85173ce267c0b00c9d06be3a4a2fe29fe
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Runtime HPF param change leads to TX distortion at the beginning.
Unmute HPF after param change.
Change-Id: I7683ca047123dd004fb2dd019365305edfc72ea5
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Update ignore suspend for AIF in/out and dapm input/output
widgets for bolero and wcd937x codecs to avoid suspend
of codec during active usecase running even after APSS
goes to suspend.
CRs-Fixed: 2321226
Change-Id: I277129e8e657485c56414a385150c4da55382770
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
In bolero and tanggu combination, make bolero parent of tanggu.
Bolero and tanggu can communicate mutually using notifier and
plat_data callback APIs.
Change-Id: Iecd119df7f0ad1ba225c0427f3f42f217146b092
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add proper null checks and initialize variables
in rx-macro, tx-macro, va-macro and wcd937x drivers.
Change-Id: I90899c84d3391305b9a24d4b043adc08b7c0332a
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
Observe pop at start of recording. Change the
order of HPF setting in decimator enable path
and update freq_change bit for HPF corner frequency change.
Change-Id: I6257671224a792a2afd71209fdc4e0102a83ced8
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
ASoC core assigns dai id value to num_dais if
AIF dai-id passed is 0. Since we have different macros
passing AIF dai-id as 0, they are replaced in ASoC core.
To handle this, update AIF dai-id in respective macros
to start with value 1.
Change-Id: I222c088289292aa226c90710e56a8c94af5615cd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
For ADIE loopback, MCLK needs to be enabled.
Associate the macro MCLK widgets to respective
rx and tx paths in route map.
Change-Id: I5632c3016146c5c5d822ae6fe438010904cf434b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>