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>
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>
Synchronize both contexts of SSR and SVA close
to avoid access of client handle after free.
Check whether the client is valid or not when
retrieved from private data in q6lsm_callback along
with NULL check to avoid invalidated pointer access.
Change-Id: I51c13cd79fd947c624bf0cade4c93a3fdf07353e
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Split the muli-check condition into two separate check conditions.
Suppress the logs for stale condition to debug.
CRs-Fixed: 2307741
Change-Id: I984a2ea7928de052e993e77db807df83109ab423
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
On bolero rx macro, add support to switch
mclk frequency based on native usecase active.
Change-Id: I2f915475dcfdadf1027507b7ed83a4a852ece1c7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
PP event queue is not used by capture path. Initialize PP
event queue for playback path only to remove unnecessary log.
Change log level from error to debug when no matching afe
cal block is found.
Change-Id: Ibc323449f2fdc74cccd350ae30ac76d937898ffa
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
For MCLK frequency switching to 11.2896 for native
playback support, frameshape also needs to be changed
accordingly. Add changes to support frameshape switch
based on mclk frequency for given master.
Change-Id: I0c4dd69b743f83b45eeed73f27ad10e878b9244b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add mutex lock in rtac_open and rtac_release
to avoid usage count discrepancies leading
to multiple calls to unmap memory resulting in
null pointer dereference.
CRs-Fixed: 2271712
Change-Id: Ie6da28837c352030b8d7e377d68a70cf04e7072a
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
Add alias for in2p clamp register to check in2p
clamp state in insertion irq and ignore the interrupt
if the clamp is already set.
Change-Id: Ibd4ff2cef8690894a01072e74ce130f824656f5d
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>