Commit Graph

212 Commits

Author SHA1 Message Date
Linux Build Service Account
98d3a76d95 Merge "asoc: wcd934x: add support for SSR handling using SND event FWK" 2018-08-25 04:00:39 -07:00
Vignesh Kulothungan
61e56a95a3 dsp: asm: initialize variables before use
Initialize flag variables before use in spinlocks.

CRs-Fixed: 2257317
Change-Id: I8b5973c1dfe3c7266a71d4e8ef4d5884b685ae5d
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-08-23 09:52:35 -07:00
Banajit Goswami
09618575ad dsp: q6core: add support for SSR handling with SND event FWK
Add support for SSR/PDR event handling using SND
event framework.

Change-Id: Ia80c0bc7b99866fbb5c0b8c8ee7cdadeeb0fb0e9
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-08-22 10:34:41 -07:00
Linux Build Service Account
4d83b35b1b Merge "dsp: fix total size in set ui property" 2018-08-14 22:43:49 -07:00
Linux Build Service Account
601e7e841e Merge "dsp: q6afe: Add check for DC detection registration" 2018-08-09 22:44:51 -07:00
Vikram Panduranga
99b0a75be7 dsp: fix total size in set ui property
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>
2018-08-09 11:24:40 -07:00
Linux Build Service Account
6f046cdf21 Merge "ASoC: q6asm: use session lock to avoid use-after-free" 2018-08-08 23:32:14 -07:00
Linux Build Service Account
602e037449 Merge "asoc: enable MDF initialization in qcs405 target" 2018-08-08 23:32:09 -07:00
Vignesh Kulothungan
0ffc608139 dsp: q6afe: Add check for DC detection registration
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>
2018-08-07 10:56:42 -07:00
Linux Build Service Account
ed06521452 Merge "asoc: msm: update asm channel map for push pull mode" 2018-08-07 06:18:42 -07:00
Aditya Bavanari
542582cba2 dsp: support mdf memory share cmd
Add support for MultiDSP framework (MDF) memory
share command in q6core driver.

Change-Id: Iff0da10fe835f1fce50d2725960ded5c96237955
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-08-06 19:45:45 +05:30
Linux Build Service Account
6baee220f0 Merge "asoc: Update mixer control for island mode setting" 2018-08-02 08:23:15 -07:00
Xiaojun Sang
fe99d5b2d1 ASoC: q6asm: use session lock to avoid use-after-free
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>
2018-08-02 17:38:17 +08:00
Surendar Karka
5628e8bc98 asoc: msm: update asm channel map for push pull mode
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>
2018-08-02 13:05:05 +05:30
Linux Build Service Account
9264698ee1 Merge "asoc: audio-ext-clk: Add support for multiple lpass clock sources" 2018-08-01 04:54:13 -07:00
Linux Build Service Account
2cb347bab2 Merge "asoc: qcs405: Add support for AFE SPDIF interfaces" 2018-07-31 09:34:20 -07:00
Laxminath Kasam
144eabc3ee audio: Add support for audio on msmsteppe
Update config file and make rules for msmsteppe
compilation.

Change-Id: I374a0725a7dd36edc9e04652fb07dc719310565c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-31 11:23:46 +05:30
Aditya Bavanari
348a4a6d2a dsp: afe: Add support for Rx and TX codec dma interface
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>
2018-07-31 11:22:48 +05:30
Mangesh Kunchamwar
07b8dc90a9 asoc: Update mixer control for island mode setting
Fix overwriting of port ID in island mode mixer control.

Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-07-30 23:17:12 +05:30
Mangesh Kunchamwar
2eabdc7309 asoc: dsp: add check for integer overflow
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>
2018-07-27 21:32:46 +05:30
Linux Build Service Account
7ecd09c315 Merge "dsp: q6afe: fix payload copy issue in module event" 2018-07-26 21:21:58 -07:00
Ralf Herz
cc29b9e839 dsp: support for AFE SPDIF input interface
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>
2018-07-25 21:35:33 +05:30
Linux Build Service Account
97f7bd8b56 Merge "dsp: Remove wait for preload command" 2018-07-24 00:22:29 -07:00
Vidyakumar Athota
968be0ae5b dsp: q6afe: fix payload copy issue in module event
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>
2018-07-23 18:20:29 -07:00
Linux Build Service Account
f205f9ccd7 Merge "asoc: dsp: add support for aptX adaptive" 2018-07-18 10:16:11 -07:00
Sharad Sangle
82777e54d5 asoc: dsp: add support for aptX adaptive
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>
2018-07-12 22:26:40 -07:00
Vikram Panduranga
50bb24444e dsp: Remove wait for preload command
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>
2018-07-12 17:20:24 -07:00
Mangesh Kunchamwar
2d84e4aedc asoc: Enable VAD in QCS405
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>
2018-07-11 21:27:07 +05:30
Linux Build Service Account
d36e5ef530 Merge "dsp: Avoid excessive list iterations" 2018-07-09 11:56:34 -07:00
Linux Build Service Account
2781db307a Merge "lsm: miscellaneous fixes for multi-stage adsp VA" 2018-07-07 13:19:47 -07:00
Linux Build Service Account
f247ce1f32 Merge "ASOC: dsp: add spin_lock for q6asm_add_hdr" 2018-07-06 14:46:26 -07:00
Dhananjay Kumar
66ae4136f5 lsm: miscellaneous fixes for multi-stage adsp VA
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>
2018-07-07 01:36:05 +05:30
Vignesh Kulothungan
96ba1625dc dsp: Avoid excessive list iterations
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>
2018-07-05 11:40:48 -07:00
Meng Wang
d1942a26d8 dsp: add null check for temp handle
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>
2018-07-03 17:48:02 -07:00
Meng Wang
d5d1092c0c ASOC: dsp: add spin_lock for q6asm_add_hdr
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>
2018-07-03 08:34:46 +08:00
Linux Build Service Account
928c67e56e Merge "rtac: Add mutex protection for rtac cal apis" 2018-07-02 12:39:49 -07:00
Linux Build Service Account
ec7e65b420 Merge "dsp: preload voice and copp topologies" 2018-07-01 10:20:31 -07:00
Linux Build Service Account
d59771fc30 Merge "dsp: msm_audio_ion: check only for probe complete for ION alloc" 2018-07-01 10:20:31 -07:00
Ramprasad Katkam
bc394037dd rtac: Add mutex protection for rtac cal apis
Add mutex lock protection to synchronize rtac
calibration set and get api calls.

Change-Id: Ieb2d01642ecefff6405bb59554157c304b4b651d
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-06-30 00:15:35 +05:30
Linux Build Service Account
548608e403 Merge "dsp: afe: add missing codec dma port indices" 2018-06-29 03:52:09 -07:00
Linux Build Service Account
18d44c77e1 Merge "lsm: add support for ADSP multi stage VA" 2018-06-28 22:57:53 -07:00
Banajit Goswami
bfc919ea43 dsp: msm_audio_ion: check only for probe complete for ION alloc
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>
2018-06-28 15:22:17 -07:00
Linux Build Service Account
ceb09056d7 Merge "dsp: add an exception in determining port type" 2018-06-28 14:10:08 -07:00
Vikram Panduranga
6e55ad86b2 dsp: preload voice and copp topologies
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>
2018-06-28 11:05:25 -07:00
Mangesh Kunchamwar
1274b76c1d dsp: afe: add missing codec dma port indices
Add codec dma port indices in get port index function.

CRs-Fixed: 2248380
Change-Id: I62fcf502ce997e1537c0ea47dd0292612cb297ad
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-06-28 16:15:39 +05:30
Vikram Panduranga
dfae8ef1bb dsp: add an exception in determining port type
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>
2018-06-27 15:58:19 -07:00
Dhananjay Kumar
ce6ec5fcf2 lsm: add support for ADSP multi stage VA
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>
2018-06-27 23:39:17 +05:30
Linux Build Service Account
a6a600898a Merge "dsp: q6afe: fix sleeping function called from invalid context" 2018-06-26 23:29:56 -07:00
Linux Build Service Account
625fa8af6a Merge "dsp: q6afe: Add support to control AANC noise level" 2018-06-26 10:45:10 -07:00
Xiaoyu Ye
baf2839922 dsp: q6afe: fix sleeping function called from invalid context
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>
2018-06-25 18:28:18 -07:00