Commit Graph

3562 Commits

Author SHA1 Message Date
Sanjana B
546d4fc9d5 ASoC: QCS405: Additional TDM samplerates and channels
Add support for additional TDM samplerates uptil 384KHz
and uptil 32 channels

Change-Id: Ie93da52ed524a9c14c38bec2e4af42777a397951
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2021-01-20 20:12:53 -08:00
Sanjana B
f44236957e asoc: qcs405: Add support for TDM interface
Add mixer controls for TDM interface in machine driver.

Change-Id: Ic177bcde59607c7ef3aecb78dfffdaf0388ed444
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2021-01-20 12:19:01 +05:30
Sanjana B
efd749f19f asoc: Add support for QUAT and SEN TDM interface
Add FE and BE support for QUAT and SEN TDM interface.

Change-Id: Ic1fb96b1d5004f07849673e1e6369609652f0dc1
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2021-01-11 18:47:55 +05:30
Sanjana B
9a792426ef asoc: qcs405: Update clk src string from dts
Extract clk src string from dts and update in afe.

Change-Id: I5004a5364d2d557072bbafc0c3476c50e18a4479
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2021-01-11 11:38:24 +05:30
Sanjana B
a15df0900e dsp: Add support to update and store clk src values
Add support to update clk src array from machine driver.
Update clk src for different be ids based on clock
frequency at playback.

Change-Id: Ifa09d556fd50f9e2ddef39b5e3ddd25f579f8f6e
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2021-01-11 11:01:49 +05:30
qctecmdr
111a7ea848 Merge "asoc: bolero: mark IIR filter coefficient registers as volatile" 2021-01-10 01:38:18 -08:00
qctecmdr
74c97bf056 Merge "ASoC: Add port map for yupik" 2021-01-05 22:58:18 -08:00
qctecmdr
fcebf2dabc Merge "dsp: Fix improper mutex unlock in afe close" 2021-01-05 22:58:18 -08:00
Vatsal Bucha
98bea1dcf4 ASoC: Add port map for yupik
As yupik idp has wcd937x support, add port map for same.

Change-Id: I9b907fc2e5aa4a9ad810f01f4be5cc5b2d1659b5
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-12-30 06:14:14 -08:00
Vatsal Bucha
9cc1d0d01d ASoC: wcd937x: Add function to get wcd937x codec variant
Add function to get wcd937x codec variant. Also add wcd937x
support in msm dailinks for yupik.

Change-Id: Id794a12da0f5aa771727d9f03ef949ae1d32b9da
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-12-30 01:46:25 -08:00
qctecmdr
2725c63926 Merge "ASoC: wsa883x: Add check before enable/disable PDM WD irq" 2020-12-29 21:17:28 -08:00
qctecmdr
f87e6e2e6c Merge "ASoC: msm: qdsp6v2: write all periods to DSP on playback trigger" 2020-12-29 21:17:28 -08:00
qctecmdr
f6dd1374c1 Merge "asoc: bolero: add different unmute_delay for AMIC and DMIC" 2020-12-29 21:17:28 -08:00
Aditya Bavanari
af0786e0e3 dsp: Fix improper mutex unlock in afe close
During SSR use cases, when AFE APR handle is NULL
and AFE close is invoked, mutex unlock is done without
locking. Fix it and bail out without unlocking the
mutex in this scenario.

Change-Id: Ia2988b56425d8c2d5c726d5860c13e655e7e4ed1
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-12-29 18:07:12 +05:30
Meng Wang
86b549714a asoc: bolero: mark IIR filter coefficient registers as volatile
Mark IIR filter coefficient registers as volatile to
get actual coefficient when running tinymix.

Change-Id: I0be0a8caef4df5f987abf3981b91d5ec924b883b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-12-28 14:47:34 +08:00
qctecmdr
99d8880711 Merge "audio-kernel: Fix build time issue" 2020-12-22 01:18:16 -08:00
qctecmdr
96cac341f5 Merge "config: Add module for wcd937x for yupik in autoconf" 2020-12-22 01:18:16 -08:00
Sitong Chen
60fafe3440 ASoC: msm: qdsp6v2: write all periods to DSP on playback trigger
In mmap mode, when playback is triggered, send as much as periods
to DSP.

In previous implementation, only 1 period be sent to DSP at trigger
time, it's consumed in DSP and then send back a write-done event,
which will be captured and trigger another write action in the
event_handler.
The problem is, any jitter in the event transmission will result
in a delay on the next write, and a gap in the output is noticeable.
A multiple-periods queue in DSP can filter out such a jitter to
avoid impact to the output.

Change-Id: I6f04971c076409b5ada8e40cea2b4e01de88b5a9
Signed-off-by: Han Lu <hanlu@codeaurora.org>
Signed-off-by: Sitong Chen <sitochen@codeaurora.org>
2020-12-22 16:44:44 +08:00
Vatsal Bucha
8553f349c0 ASoC: wsa883x: Add check before enable/disable PDM WD irq
Add check if irq is disabled before enabling PDM WD and if
its already enabled before disabled.

Change-Id: Ia36653568b21f9b41dfcdd1da13300f8850c4ea9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-12-21 00:51:20 -08:00
Meng Wang
e5cd004630 asoc: bolero: add different unmute_delay for AMIC and DMIC
unmute_delay for AMIC and DMIC may be different and use same
flag may affect the powerup time. Add different unmute_delay
flag for AMIC and DMIC to resolve the issue.

Change-Id: I7697b1fae92a2b37530106c1c7b79a5d1bd74021
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-12-21 13:13:33 +08:00
Abhiprayah Tiwari
02f0075412 audio-kernel: Fix build time issue
audio modules take a significantly high amount of time to compile
in incremental builds. The export statement causes unnecessary
exports which leads to problem. Removing it and adding it in device
specific conf file to make it similar to lahaina, kona etc

Change-Id: Id9d452e8f62381129263f554b794c5144de456c0
2020-12-18 06:50:37 -08:00
qctecmdr
3f57ae978c Merge "ASoC: add command id to packged reg val" 2020-12-18 01:37:28 -08:00
qctecmdr
45e51badba Merge "dsp: fix shared buffer format mixer control" 2020-12-18 01:37:28 -08:00
qctecmdr
a78b32247d Merge "soc: swr-mstr: return when requesting hw vote fails" 2020-12-16 02:16:31 -08:00
qctecmdr
929f060c0c Merge "ASoC: add external echo ref support for SENARY MI2S TX" 2020-12-16 02:16:31 -08:00
qctecmdr
16c4424372 Merge "asoc: msm-lsm-client: deregister SM even if SVA is not started" 2020-12-16 02:16:31 -08:00
qctecmdr
c8f7b5101e Merge "dsp: ensure unassign memory happen when pause voice call failed" 2020-12-16 02:16:31 -08:00
Vatsal Bucha
bfa2c31c0f config: Add module for wcd937x for yupik in autoconf
Add module for wcd937x for yupik in autoconf file
as yupik has wcd937x.

Change-Id: I4f5517557bc50e1f631d85ab7069f7dc30a48ac5
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-12-16 12:43:12 +05:30
Xiaoyu Ye
3c2489dfbf dsp: fix shared buffer format mixer control
Due to SVA5 supports multiple sound models in a
signle SVA session, shared buffer format mixer
control will be called several time to set the
afe data format within one session. This behavior
can exhaust all available afe data format sessions
without freeing them at the end of a SVA session.
Fix this issue by using fe_id to find the matching
SVA session when set afe data format.

Change-Id: I3332b9ff88df2b14eb3e59036164f11ad3342e14
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2020-12-13 19:34:24 -08:00
qctecmdr
c5597877e1 Merge "ASoC: msm: Fix compile issue for "Check cleanly with sparse"" 2020-12-12 09:52:43 -08:00
qctecmdr
1d4991488b Merge "ASoC: Add support to send voice UI port id to afe" 2020-12-12 09:52:43 -08:00
qctecmdr
6a7576ab32 Merge "ASoC: msm: add kcontrol to support ASRC config" 2020-12-12 09:52:43 -08:00
qctecmdr
244f9b65cc Merge "asoc: codecs: add child devices after completing initialization" 2020-12-12 09:52:43 -08:00
Kunlei Zhang
4ccebb9bf0 dsp: ensure unassign memory happen when pause voice call failed
When voice call pause failed, cvp cal deregister is not called
to make hyp unassign memory happen.

Fix it by calling cvp cal deregister even if voice call pause
failed.

Change-Id: I88afa951e0be50ca06509e9e51ce484b75dcc7d4
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
2020-12-11 11:22:59 +08:00
Vignesh Kulothungan
8dc9500968 ASoC: add command id to packged reg val
Add unique commond id to each slave packed register value.

Change-Id: I27f53932f7bf795bcf81ea56dba3e23d2715be05
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-12-10 16:51:58 -08:00
Xiaoyu Ye
73d788af1c asoc: msm-lsm-client: deregister SM even if SVA is not started
To prevent potential memory leaks in kernel and ADSP, always try to
deregister sound model in msm_lsm_close so that sound model and
calibration buffer can be freed.

Change-Id: If665fcb00f67fa268a4c543649fee12627fccedd
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2020-12-10 05:18:11 -08:00
Kunlei Zhang
f1e691551d ASoC: add external echo ref support for SENARY MI2S TX
Add SENARY_MI2S_TX to external echo reference. It can
be used for Audio/VoiP/Voice external EC reference.

Change-Id: If5b61f9761607652a3e52e44344b4969821fce95
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
2020-12-10 01:56:39 -08:00
qctecmdr
994729b1ec Merge "asoc: bolero: update incorrect bolero register" 2020-12-09 09:48:00 -08:00
qctecmdr
bd0d0714e9 Merge "asoc: compress: support gapless playback in GKI mode" 2020-12-09 09:48:00 -08:00
qctecmdr
ccbb47efc8 Merge "asoc: lahaina: remove auxpcm be dai when auxpcm is disabled" 2020-12-09 09:48:00 -08:00
qctecmdr
6e03c26d53 Merge "asoc: q6adm: Channel map configuration for multi-channel" 2020-12-09 09:48:00 -08:00
qctecmdr
33e47130d4 Merge "dsp: q6afe: reset clk_state and clk_status when adsp ssr happens" 2020-12-09 09:48:00 -08:00
Soumya Managoli
98afffc24d ASoC: Add support to send voice UI port id to afe
As per the current design in afe, if the
afe_get_cal_topology for AFE_TOPOLOGY_CAL
or send_afe_cal_type for AFE_COMMON_TX_CAL
fails, then the voice UI calblock is fetched/sent.
This is resulting in sending voice UI calblock
on a non voice UI port during concurrent usecase scenario.

Fix is to check if the calblock for get/set is for
a voice UI port or not. Added support to send this
port id info from routing driver to afe when usecase
is enabled via mixer_control.

Change-Id: I356aae61e1b9d11324e7b9f9a57953767a64b71e
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2020-12-08 17:05:12 +05:30
Han Lu
4eb1a6ea14 ASoC: msm: add kcontrol to support ASRC config
Added kcontrol to write clock drift to ASRC module in ADSP. There
are two options:
1. read drift from an active AFE port, and write to target ASRC module.
   The read-and-write process will loop automatically with configurable
   delay. (50 ms by default)
2. write drift value to target ASRC module for one time operation.

Change-Id: I2df7ed646d53612aca96074c0ca3d44a404cebf4
Signed-off-by: Han Lu <hanlu@codeaurora.org>
2020-12-07 16:25:00 +08:00
Hongtao Peng
fa5ffd2abe ASoC: msm: Fix compile issue for "Check cleanly with sparse"
* Remove comparison of unsigned expression;
* Add static keyword for local variable;

Change-Id: I57d6cf8d94baf6108041f8476cb1cf38741bb3a7
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
2020-12-07 15:04:01 +08:00
Meng Wang
b273c82691 soc: swr-mstr: return when requesting hw vote fails
SSR notification may not come to swr master control
in time and cause swrm_runtime_resume tries to access
SWR registers. Update the logic to return when requesting
hw vote fails.

Change-Id: Ia85e9ce540ff88d16e8e73c48bab26fb277b86bb
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-12-06 21:35:32 -08:00
Vangala, Amarnath
499ec05405 asoc: codecs: add child devices after completing initialization
In bolero-cdc and tx, va, wsa and rx macros, move schedule_work call to
add the child devices to the point later to where the parent
initialization gets completed.

Change-Id: Iaa07329a25020dde21d9249c3848bb7fcf7d816a
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
2020-12-03 17:13:08 +05:30
Meng Wang
3d63e1feb0 asoc: bolero: update incorrect bolero register
Update incorrect bolero register for default value.

Change-Id: I8eba8618a2f7592c94d98dcf4ad09be239e85e11
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-12-03 16:15:16 +08:00
qctecmdr
c285d08046 Merge "asoc: fix compile issue due to soundwire" 2020-11-29 23:55:13 -08:00
qctecmdr
976215bfd2 Merge "asoc: swr-haptics: add non-HBoost regulator support" 2020-11-29 23:55:13 -08:00