Commit graph

3,568 commits

Author SHA1 Message Date
Meng Wang
50df20532d asoc: bolero: udpate MSM DMIC power up sequence to reduce pop
Udpate MSM DMIC power up sequence to reduce pop.

Change-Id: Id02b12f0b8257eb2bdaeabffe1bb27d90ee96925
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2021-01-17 18:37:56 -08:00
qctecmdr
e60b9d6c6d Merge "soc: swr-mstr: Fix headset detect issue during clk stop wakeup" 2021-01-16 06:51:28 -08:00
qctecmdr
ed43bdaa54 Merge "dsp: codecs: Synchronize the audio_aio_open and SSR event" 2021-01-16 06:51:28 -08:00
qctecmdr
53feb46e27 Merge "dsp: Set dma_mask to accept 64 bit dma address" 2021-01-16 06:51:28 -08:00
qctecmdr
81e002d224 Merge "dsp: add support to crash device when send APR CMD to ADSP timed out" 2021-01-16 06:51:28 -08:00
qctecmdr
49ed1e3b56 Merge "ASoC: lahaina: update enable/disable audio core vote for mi2s" 2021-01-14 06:19:22 -08:00
Huicheng Liu
dfe4a17ade dsp: Set dma_mask to accept 64 bit dma address
We do not set the dma_mask so by default it only
accepts 32bit dma address. setting the dma_mask to
DMA_BIT_MASK(64) makes it accept 64 bit dma address
as well

Change-Id: I3c5dc78e69432f261bee26bf9e0d8d097bc16d09
Signed-off-by: Huicheng Liu <huicliu@codeaurora.org>
2021-01-11 13:42:56 -05:00
Harshal Ahire
d4d572aa2c dsp: codecs: Synchronize the audio_aio_open and SSR event
Add spin lock to synchronize the audio_aio_open and SSR event
to avoid accessing uninitialized wait events during SSR.

Change-Id: I3ba0100a653903f9a4d8809d0d831d2ab04f9622
Signed-off-by: Harshal Ahire <hahire@codeaurora.org>
2021-01-11 18:28:20 +05:30
qctecmdr
111a7ea848 Merge "asoc: bolero: mark IIR filter coefficient registers as volatile" 2021-01-10 01:38:18 -08:00
Vatsal Bucha
673d4a9777 soc: swr-mstr: Fix headset detect issue during clk stop wakeup
When ext clk stop wakeup and slave_pending_irq come together
then interrupt at swrslave is cleared due to calling
enable_slave_irq. Do not clear interrupts for enable_slave_irq
when its called from clk stop wakeup.

Change-Id: Ia710030ab80306d6750bea7264f0d4c07053d701
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-01-08 13:18:36 +05:30
Xiaoyu Ye
d7ea628312 dsp: add support to crash device when send APR CMD to ADSP timed out
Add support to use debugfs to crash device when q6lsm_apr_send_pkt
timed out due to no response from ADSP. By crashing the device,
crash dump can be collected to aid debugging on ADSP.

Change-Id: I2c53f62a9f99ee6f27fe68894dfbd3dc3aa52ed1
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2021-01-07 23:35:28 -08:00
Vignesh Kulothungan
9248c7560e ASoC: lahaina: update enable/disable audio core vote for mi2s
Check and enable audio core vote only when reference count of
mi2s is 1 and disable only when reference count is 0.

Change-Id: If6a8c18feec30fa83363804d5160fd6996aa0319
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2021-01-06 08:54:07 -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