Add new dailnks in machine driver to support
compress loopback usecase for HDMI and BT sink.
Change-Id: Ie9658b3c06fd8d9a68b9b2317fe2689fa34a96f5
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add new FE dais and their routings to support
compress loopback usecase for HDMI and BT sink.
Change-Id: I95d683ff22cda0e7d52333e7dabbb7694cb254f3
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Modify snd_event stub functions prototype as static inline
to make sure that there are no multiple definition errors
in the case of static compilation.
Change-Id: I0848be946b332df22c045b8e5fed4c39b7ee0fda
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
wcd interrupts can be disabled in the same interrupt
context. So use non-sync disable irq api for disabling the
interrupts to avoid a deadlock.
Change-Id: I82dda8dbcd80ba18674eea00686f6a4f54a3b340
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
During SSR, when the playback on speaker gets started before codec
is out of digital core power collapse, results in soundwire
register read/write failures. Check for codec power state before
enabling the soundwire during speaker device path enablement for
playback usecase to avoid soundwire register read/write failures.
Change-Id: I3b45ef0c34ad4f97aad89afaf719989ffbda7485
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Add proper way to clear interrupts using regmap irq framework,
to avoid mismatch between interrupts handled and interrupts
cleared. wcd937x requires writing '1' and then '0' to clear
interrupt. Set a new regmap irq flag 'clear_ack' to indicate this.
Change-Id: I1346dc66735d3b5788e1cc0cfef772c9deacbfc1
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Soundwire slave interrupt is only edge type, so any pending slave
side interrupts could not cause a new slave interrupt, if
they are triggered before clearing of existing interrupts.
Recursively trigger slave irq until there are no pending slave
interrupts to handle this issue.
Change-Id: I254f2467f09172490796114b48f1f0feb604ad17
Signed-off-by: Ramprasad Katkam <katkam@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>
After switching from native to non-native clip,
observe slowness in clip playback content heard
on headphones. Update mclk_mux for enable sequence
based on native flag and for disable sequence
use the same setting done during enable.
CRs-Fixed: 2322232
Change-Id: I795e0620e0239b53cdfdadaf2d57acfb570c4c3b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Excessive logging causes throttling during bootup.
Update log level from error to debug in get functions to
avoid excessive logging.
CRs-Fixed: 2321589
Change-Id: If2a23144adf76cdd9bb2d9048a967b63186d7f6e
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
check audio node buffer size if it is sufficient
enough to copy the meta data before copying the meta
data contents to it.
Change-Id: I0bd67bddf902659ddd533a6f0d9440e873d51329
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
ANDROID_BUILD_TOP variable is deprecated and thus all paths are
assumed to be relative to the top directory.
Change-Id: Ifc1bba67bf47092a37336581990d4bcce82a72f5
Fix routing error from incorrect usage of passthrough mode
while switching LSM session from direct AFE connection to
path using ADM before AFE connection.
Issue is due to loss of passthrough mode for an FE not opened
with ADM during initial session setup or while moving the FE
from one BE port to another BE port, i.e. device switch usecases.
Since passthrough mode for an FE is supposed to be same for all
the BEs connecting to the FE and is directly decided from FE
driver having single value, decouple passthrough mode from BE
and store the required mode in an FE config independent of BE usage.
This allows storing passthrough mode for future usage irrespective
of initial setup path which can be with or without ADM.
Change-Id: I53106b49effd9b267363aedd77477eed103b317c
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Add snd_event support for talos required for SSR.
Change-Id: If689d9cda131324b99e0dda0b91f237b495eeadc
Signed-off-by: Vaishnavi Kommaraju <vkommara@codeaurora.org>
Add changes to recover audio after SSR on wcd937x driver.
Change-Id: I661605e9b1bd71f08f331d14ae52f89ba8423d4f
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add changes to support SSR in pinctrl lpi driver
based on snd event framework.
Change-Id: If4fb3085ab69ae04628ef10a8b528d0cdc20f40d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
For new swr master controller to recover WSA on wcd934x variant,
trigger events from wcd934x driver for ssr down and up.
Change-Id: I8f0163178708760ef3ad2a765a80682611693e9b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add changes to recover audio during SSR and PDR
in swr master controller driver.
Change-Id: Ibe3ae097b5f9d59b135d861c5f50f6bbc1c05af6
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add changes to call pm runtime calls only once for soundwire
master active, to be able to decrement and put to suspend
during SSR.
Change-Id: I068040e2a224d1ee97f472f69f25af77ae632be2
Signed-off-by: Ramprasad Katkam <katkam@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>
Fix condition to register display port dai link as
part of soundcard registration.
CRs-Fixed: 2321275
Change-Id: I196163599299fa4aea21c930c0bfe3f8e5425223
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add mixer widgets, routing and mixer controls in order
to support BCL feature on WSA and RX macros
of bolero codec.
CRs-Fixed: 2225097
Change-Id: I463f89a517bb3878e51a6aca0c1d73bc652ab8c5
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Check the value of ch_num and return if
less than zero to avoid out of bound access
in cdc_dma_cfg arrays.
Change-Id: Ie59f5e7ed063d65a61033a142acd2bcf2287c39b
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
On wcd937x, add controls for HPH compander.
Handle sequences for headphone path based on
compander enabled or disabled.
Change-Id: I2ebdd03a4f79dc6156327d0613fab2f26710393f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
When codec probe is not correctly completed and ADSP SSR happens
before sound card is registered, calling SSR callback may result
into NULL pointer dereference and kernel panic happens.
Check sound card state when calling device_down and post_reset to
avoid NULL pointer dereference.
Change-Id: I35fd84af51edf45db6fd451dc68dbcaaed11fee7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Bulk read api does not work properly for swr regmap,
causing failure/delay in impedance detection.
Use regmap read api to avoid the issue.
CRs-Fixed: 2301798
Change-Id: I5727cfcb7846f40f5b0f75b7976b492e2a2bfde0
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>