Initialize flag variables before use in spinlocks.
CRs-Fixed: 2257317
Change-Id: I8b5973c1dfe3c7266a71d4e8ef4d5884b685ae5d
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Total size was incorrectly adjusted after determining
IID param size in SET_UI_PROPERTY. Fix total size with
correct APR packet and param sizes.
Change-Id: I5874b470811733e60b40cc240d4c0db995b30bac
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Check if speaker protection is enabled before registering for
DC detection events.
CRs-Fixed: 2244131
Change-Id: If2f9f777534ee5fe9024ba1080d0b73d3f750159
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
It is possible that audio session free and param set happens
simultaneously. Audio client might be freed while param set
is doing wait_event_timeout.
Use session lock to make sure client_free happens after param set.
Change-Id: I0947c309c8e445fa2e220680e329d88bd5fe2418
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
In noirq push pull mode channel map needs to be set during
ASM open shared io stream. Add support for no irq driver to
set channel map during ASM shared io stream open.
CRs-Fixed: 2267809
Change-Id: Ic1abfe60bb54b6529fbb4cf999e50196befaba46
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Update config file and make rules for msmsteppe
compilation.
Change-Id: I374a0725a7dd36edc9e04652fb07dc719310565c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
New codec dma interfaces have been introduced to connect
LPASS and Codec macros. This change is to add Rx and Tx
codec dma interface related updates to Q6 AFE native driver.
CRs-Fixed: 2281591
Change-Id: I2edbe904cd4c13801f06cdd7bd226a82db5d6d51
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Fix overwriting of port ID in island mode mixer control.
Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add check for integer overflow of user
supplied data for ADSP stream command.
CRs-Fixed: 2173850
Change-Id: Idde5665c770398629b1b0cfa2c18d3c023b0f9a2
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Support two SPDIF input and two SPDIF output interfaces in AFE.
Support 61937 compressed capture.
Change-Id: Ie71434eb53be798567a6240e0f4bf171aee305b8
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Payload is copied incorrectly in AFE module event callback.
Fix this issue with proper typecast of payload pointer.
Change-Id: I58642a054667912bcc01ae19c8c73d28c28b5589
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add support for new A2DP profile aptX adaptive.
This is just like any other A2DP profiles.
CRs-fixed: 2272343
Change-Id: I219dec038e84b7b98ebb2d5233ddf576c8bbe70a
Signed-off-by: Sharad Sangle <assangle@codeaurora.org>
Remove wait and wake up for module load/unload commands
in order to reduce audio startup and teardown latencies.
Change-Id: I6ce67656c4ec8a843b9c2dd75176155ca0ce61df
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
Add AFE HW CAL dep node in config and fix the set sampling rate
for codec dma interface
Change-Id: I9165a80da00bfb5b61bbf4f0391ff794d8fba352
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Fix compilation warnings from multi-stage VA code changes.
Correct sound model param size value to avoid failure from
second stage sound model registration.
Change-Id: I7f589f0ddece167233b61236b3e5b6585927f62d
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
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>
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>
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 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>
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>
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>