Mitigate the issue from ADSP side during low latency record where the PP service takes long time
to propagate the media format and causes buffer drops and time stamp discontinuity, discard the
first partial buffer received from ADSP.
Change-Id: Ib5ef817868ccd4ae597b764ddd85b18b7d870615
Signed-off-by: E V Ravi <evenka@codeaurora.org>
Resolve warning log when hph pa mutex lock is destroyed before
unlock. Initialize hph pa locks as global lock and do not destroy
during SSR to resolve issue.
Change-Id: Idc5af793294f7fdc8dbcc17770f68fe2c46ab337
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Fix to resolve kernel panic by unmapping kernel VA when smmu map fails &
add token logic to avoid stale hab response during aHAL restart
Suggested-by: Karthik D K
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Change-Id: I7a793262ffa98d9e6698b99fb720e583d3990ce7
The ADSP asm session ids are managed by the kernel driver. It's all right
for native use cases. But for virtualization use cases, there's no way to
synchronize the session ids' status among virtual machines. Playing back
in one virtual machine is probably failed, because the session id may had
been occupied by a use case in another virtual machine.
The patch allowed audio playback & capture stream to try all
available session ids in case of session id conflict error, to support
concurrent playback from multiple virtual machines.
Change-Id: Ibdde0b21643f135066b017ab678d999841b23475
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Add new version of adm open which accept stream based ec_ref information to
support per-stream ec_ref channel mixer.
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: I2253d71aa107bdad6d3eea7d528ff7403d292a85
Per-stream EC Ref mixer controls are added to support stream based channel
mixer for ec_ref signal.
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: I89eb125e9b01b7bcdbb038148ec93d85a19cf3d5
- PSPD is not applying properly for multi zone streams
as expected. Due to this observing mute in some of the
channels.
- To fix this, configure PSPD for multi zone streams.
Change-Id: I70c98ae437e88ddfd56413f06422d694ed466a41
After ADSP SSR happened, toggle swr_slave_vdd before play to reset
haptics HW so that it can function properly.
Change-Id: I48bc07c923d1af2041c6c156c699e329084f0d34
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Fix concurrent playback issue on multi container, there is mismatch with
audio_platform_info config file.
Change-Id: I8b42424dd0e1f299fe90c0b835b41a788e910208
Update the slave-vdd regulator control logic to avoid unbalanced
regulator_enable() regulator_disable() calls. Meanwhile, correct
the jump label when bailing out from soundwire enumeration failure.
This helps to avoid the regulator_put() call in the device remove
process throwing a warning for a dangling regulator enable status.
Change-Id: I89157f5f9177db69bbbf6aedcc8e605c43a7584e
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Add support to use 4p8MHz DAC rate for receiver
over WSA.
Change-Id: Ia0811670326be8131687fbdff70464da063902b2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add changes to use wsa883x for receiver with
low_noise mode settings.
Change-Id: Icfa43ebbdb1e366f365053535f541bee03751ca3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add check to prevent buffer overflow for port_idx in
dai driver.
Change-Id: Id3126520e52590204fdb8bf92d3c4c52b1867354
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Use FEdai_id to calculate the buffer number and
use the same to identify the right CAL block for
ASM CAL types.
Change-Id: Iab83892f5c2f2bc54c8fa97ac084d8a04586f712
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
Use FEdai_id to calculate the buffer number and
use the same to identify the right CAL block.
Change-Id: I3a429d8d12ab670370ec947f2d789f2abf4066f1
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
For non-typical channel number playback and capture, we need to
provide asm channel map info, otherwise pcm prepare will fail.
But there is no such default asm map info in audio drivers.
This change is to provide mechanism to set asm channel map, to
ununblock non-typical channel playback and capture.
Change-Id: Idad08c6f3f50b36f5c9c0a813bc0ef493cc57c59
Signed-off-by: Guodong Hu <guodhu@codeaurora.org>
Add the q6asm_send_cal in msm_pcm_prepare for loopback driver.
This will allow to send asm calibration data to POPP
Change-Id: I649734ff735a2253c7e01fd5bdd8e9665ef5244a
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
Add machine driver for SA8295 based automotive platform,
which extended support for TDM interfaces which is used
for data transfer between SA8295 SoC and the automotive
COODEC H/W. Changes include TDM backend and refactored
automotive frontend DAI links as well as kcontrol functions
to configure TDM slot and offset configuration.
Change-Id: I82b2e4515443a5bd7bec8af34447a537cec5ecf3
Signed-off-by: Deru Wang <deruwang@codeaurora.org>
When set amixer command, it will first read the control element before write.
If the get function is missing, the amixer command will fail.
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: Id5eb1ead1787490d75a21b9cc9ee69bc54e0ea5b
Race condition observed while processing the
get/set_pp_params and adm_close command.
Synchronise adm open, close and get/set_pp_params
by sending the apr cmd pkt using the same lock.
Change-Id: I9a1ebcedc91f78f3940846688f8569ec9088e1e7
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
Add flag to check if wait event initialized before access.
Change-Id: Ib4b4654dfe1b0a18506ae6fb8029296a5f780fe9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
In rx macro set interpolation rate, sample rate and
bit width is not set if IIR is connected. Set sample
rate and bit width for IIR as well. Also correct
iir_inp_mux_text to follow same sequence as reg value.
Change-Id: I2e90265c066d38ccec9f47a6d25b8224ed710d2d
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>