Exit list iteration after the required conditions
for the loop has been satisfied to avoid additional
list iteration.
Change-Id: I96872d3be469420e613ec0244588a0a8ecb50e58
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
If MSM_QDSP6_NOTIFIER is not enabled for a target, audio_notifier
feature will not be available for that target. Whenever a call is
made to audio_notifier when its not supported, returning error from
stubbed function may confuse the error with real failure (even though
the feature is not enabled on the target). Avoid returning error code
from stubbed function, when feature is disabled.
Change-Id: I37eb2e25e45b25948aff55f2a231195a22b16f05
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Variable mem_state in audio client(ac) is set to zero
when there is a successful memory mapping. However the
same variable is updated for various mapping commands.
Ensure to check for both memstate and specific mem_handle
to be updated in the wait condition to wake up the right
waiting command.
Change-Id: Iabba61cef0a90f636de50e9d27eecf886dc59a27
Signed-off-by: Meng Wang <mwang@codeaurora.org>
wdsp_mgr_bind would schedule work to load wdsp firmware.
Before loading wdsp firmware, sound card registeration may fail.
wcd_dsp_cntl_deinit would get called to free cntl which would be used
in wdsp_load_fw_image which would cause kernel panic.
Clear work queue in wdsp_mgr_unbind to avoid kernel panic.
Change-Id: I6c052fa8ea1ff62a8b075ba191085612242a5005
Signed-off-by: Meng Wang <mwang@codeaurora.org>
During SSR, ac could get freed after unlock the session lock
during the execution of q6asm_callback. If we try to get the
ac->cmd_lock after ac freed, kernel panic happens.
Remove mutex_lock in reset_event to avoid kernel panic.
Add spin_lock_irqsave in q6asm_add_hdr and change spin_lock to
spin_lock_irqsave in q6asm_callback to add synchronize between
q6asm_add_hdr and q6asm_callback to avoid kernel panic.
Change-Id: I72cf959fe6a764920a13d565c72243a80ac4f236
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Add mixer control for AANC noise level to control AANC noise
level from userspace when AANC functionality is enabled.
Change-Id: Id47b77e054008853e5b5ddb0e9cc126626b407b8
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
When ssr is in progress, during some race conditions
mbhc events are getting reported when codec is still
coming up. Ignore such events without reporting.
Change-Id: I3d3f78f97c2b855fc36a480f38c166bda2d979f0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add config for CSRA66X0 device to be enabled in QCS405
Change-Id: I3cddb26fa7ebb03da89113d7f051b25d614c9ad0
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
In the case of WDSP boot timeout, api_mutex and ssr_mutex have already
been acquired. There is no need to do mutex lock again during debug dump.
Check the signal enum to see if it's the internal WDSP boot timeout case.
Change-Id: I6fe5e77b1bff72ed5ad463bb1df76c6b02c84c92
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Add mutex lock protection to synchronize rtac
calibration set and get api calls.
Change-Id: Ieb2d01642ecefff6405bb59554157c304b4b651d
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
While allocating and importing ION buffers, make sure to check
for probe complete flag before proceeding instead of checking for
the flag AND smmu_enabled flag. This way the restriction will be
centralized for either types of targets with and without SMMU.
Change-Id: I558e19724d1002a602377a636e274bc90ca8262d
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Set topology info to q6core service in ADSP so that the
modules in a topology can be loaded before the usecase starts,
thus reducing usecase setup latency. The same topology is
unloaded before vocproc or copp is destroyed or replaced.
Change-Id: I5f8872130fb09f049e080c61edb8bb0b05e5e2de
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Fix for getting the parameters for codec dma interface
from mixer controls and apply to port config.
CRs-Fixed: 2248380
Change-Id: I351c32e868b8fd3fde3eabbeef89b625a7bf8598
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add codec dma port indices in get port index function.
CRs-Fixed: 2248380
Change-Id: I62fcf502ce997e1537c0ea47dd0292612cb297ad
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
AFE ports have been identified as RX or TX based
on a certain rule. Add an exception for VOICE_RECORD_TX
port from this rule.
Change-Id: I8a2fa4b6053baaf7747493aa385da887e6dd170c
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Enhance APIs to get instance id and stage info from userspace,
required for multi-stage Voice Activation in ADSP.
Change-Id: Ie39a3d002a56fb8df0c241089a50d55ef700a538
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
Enhance APIs to get instance id and stage info from userspace,
required for multi-stage Voice Activation in ADSP.
Change-Id: I82703c63214925173f3f978339188ccddff8ba91
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
WSA macro supports both ec_legacy and ec_hq.
Add support to capture echo for both types
based on mixer control value.
Change-Id: I3c8a6cd13dabbee3f3687d5e63dc6d4c7bbc4eef
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
afe_callback indirectly calls q6core_send_uevent which might
sleep due to use of mutex. Move this send uevent function call
to work queue to prevent the issue.
Change-Id: I74ad151a9bae84860059d0a11042cda6475394c2
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
Add support for DMICs of different sampling rates
with respective clk_div config update in VA macro
register.
Change-Id: I8faa46774cf1fe561af3bd7a284bc7d37f85cb9d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add support for regulator enable and disable to
source micbias for VA digital mics.
Change-Id: Ie25fb65103704b04127b23f4c515d6d270f4abf0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Fix codec dma dai ids in machine driver same
as ids present in DT files.
CRs-Fixed: 2248380
Change-Id: I48d121e7343a695d67fc82da0a5c335970ccb819
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>