Commit graph

3,699 commits

Author SHA1 Message Date
E V Ravi
8d11a166ff ASOC:Skip first buffer if not full
Mitigate the issue from ADSP side during low latency record where the PP service takes long time
to propagate the media format and causes buffer drops and time stamp discontinuity, discard the
first partial buffer received from ADSP.

Change-Id: Ib5ef817868ccd4ae597b764ddd85b18b7d870615
Signed-off-by: E V Ravi <evenka@codeaurora.org>
2021-04-25 23:49:36 -07:00
qctecmdr
e2c2fd507c Merge "ASoC: wcd-mbhc: Resolve warning log when mutex destroy before unlock" 2021-04-24 00:36:55 -07:00
qctecmdr
14fec847d4 Merge "dsp: msm_audio_ion_vm: Fix Kernel panic and add token logic in SMMU FE" 2021-04-24 00:36:55 -07:00
Vatsal Bucha
5707577c13 ASoC: wcd-mbhc: Resolve warning log when mutex destroy before unlock
Resolve warning log when hph pa mutex lock is destroyed before
unlock. Initialize hph pa locks as global lock and do not destroy
during SSR to resolve issue.

Change-Id: Idc5af793294f7fdc8dbcc17770f68fe2c46ab337
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-04-22 05:53:57 -07:00
qctecmdr
2ae270f045 Merge "ASoC: DAI driver support upto 10 TDM interface" 2021-04-21 06:12:30 -07:00
qctecmdr
0058626e98 Merge "asoc: support per-stream ec_ref chmix" 2021-04-14 10:50:10 -07:00
qctecmdr
9f7a305e93 Merge "q6asm: retry asm_open_read and asm_open_loopback during session id conflict" 2021-04-14 10:50:09 -07:00
qctecmdr
b2e6980433 Merge "ASoC: keep align of the FE pcm id" 2021-04-14 10:50:09 -07:00
qctecmdr
479e545564 Merge "dsp: q6asm: Delete all nodes in mmap_handle_list during RESET_EVENT" 2021-04-14 10:50:09 -07:00
qctecmdr
3075f30b7f Merge "asoc: swr-haptics: Toggle swr-slave-vdd supply for SSR recovery" 2021-04-14 10:50:09 -07:00
Rahul Sharma
c254cedf0a dsp: msm_audio_ion_vm: Fix Kernel panic and add token logic in SMMU FE
Fix to resolve kernel panic by unmapping kernel VA when smmu map fails &
add token logic to avoid stale hab response during aHAL restart

Suggested-by: Karthik D K
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
Change-Id: I7a793262ffa98d9e6698b99fb720e583d3990ce7
2021-04-13 23:33:21 -07:00
qctecmdr
5a167206a9 Merge "dsp: adm: support adm open with ec_ref info" 2021-04-11 22:36:54 -07:00
qctecmdr
6eab62a0cc Merge "dsp: Fix for PSPD configuration error for dynamic speaker" 2021-04-11 22:36:54 -07:00
qctecmdr
ad7d534b55 Merge "wsa: soundwire: Add support for 4p8MHz DAC rate" 2021-04-11 22:36:54 -07:00
qctecmdr
2afb24c013 Merge "ASoC: dsp: Synchronise adm commands" 2021-04-11 22:36:54 -07:00
Viraja Kommaraju
da0a39d62e q6asm: retry asm_open_read and asm_open_loopback during session id conflict
The ADSP asm session ids are managed by the kernel driver. It's all right
for native use cases. But for virtualization use cases, there's no way to
synchronize the session ids' status among virtual machines.  Playing back
in one virtual machine is probably failed, because the session id may had
been occupied by a use case in another virtual machine.

The patch allowed audio playback & capture stream to try all
available session ids in case of session id conflict error, to support
concurrent playback from multiple virtual machines.

Change-Id: Ibdde0b21643f135066b017ab678d999841b23475
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2021-04-09 13:54:53 +08:00
Erin Yan
b1950d5cd3 dsp: adm: support adm open with ec_ref info
Add new version of adm open which accept stream based ec_ref information to
support per-stream ec_ref channel mixer.

Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: I2253d71aa107bdad6d3eea7d528ff7403d292a85
2021-04-08 19:05:49 -07:00
Cong Tang
7c0807d000 ASoC: DAI driver support upto 10 TDM interface
ASoC dai driver support update to 10 TDMs.

Change-Id: I401c5899bc921a7d15dfae1fc4f08478feeb5542
Signed-off-by: Cong Tang <congt@codeaurora.org>
2021-04-08 06:48:12 -07:00
Erin Yan
ed17c8fcb6 asoc: support per-stream ec_ref chmix
Per-stream EC Ref mixer controls are added to support stream based channel
mixer for ec_ref signal.

Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: I89eb125e9b01b7bcdbb038148ec93d85a19cf3d5
2021-04-08 02:06:09 -07:00
qctecmdr
9f0c670400 Merge "ASoC: Add check to prevent buffer overflow for port_idx" 2021-04-07 23:34:50 -07:00
qctecmdr
bfc25980ce Merge "ASoC: add machine driver for sa8295 based automotive platform" 2021-04-07 23:34:50 -07:00
qctecmdr
b8a843ab95 Merge "dsp: fix KW errors in adm_close" 2021-04-07 23:34:50 -07:00
qctecmdr
46de70fe9c Merge "ASoC: add gvm config file for auto sa8295 platform" 2021-04-07 23:34:50 -07:00
qctecmdr
31f4eab8ba Merge "ASoC: msm: Loopback Driver send asm cal data in prepare stage" 2021-04-07 23:34:49 -07:00
qctecmdr
9ccf0ef6a5 Merge "ASoC: dsp: find CAL block using buffer number" 2021-04-07 23:34:49 -07:00
qctecmdr
fabbedbba2 Merge "asoc: support non-runtime per-stream, per-device asm channel map" 2021-04-07 23:34:49 -07:00
qctecmdr
4cab09cf7a Merge "ASoC: dsp: find CAL block using buffer number" 2021-04-07 23:34:49 -07:00
Ramu Gottipati
c93a6f5138 dsp: Fix for PSPD configuration error for dynamic speaker
- PSPD is not applying properly for multi zone streams
  as expected. Due to this observing mute in some of the
  channels.
- To fix this, configure PSPD for multi zone streams.

Change-Id: I70c98ae437e88ddfd56413f06422d694ed466a41
2021-04-07 19:45:23 -07:00
Fenglin Wu
4eac240bd3 asoc: swr-haptics: Toggle swr-slave-vdd supply for SSR recovery
After ADSP SSR happened, toggle swr_slave_vdd before play to reset
haptics HW so that it can function properly.

Change-Id: I48bc07c923d1af2041c6c156c699e329084f0d34
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2021-04-08 08:13:22 +08:00
Fei Tong
267fb8e366 ASoC: keep align of the FE pcm id
Fix concurrent playback issue on multi container, there is mismatch with
audio_platform_info config file.

Change-Id: I8b42424dd0e1f299fe90c0b835b41a788e910208
2021-04-06 17:15:06 +08:00
Fenglin Wu
90f05606d2 asoc: codec: swr-haptics: update slave-vdd regulator control logic
Update the slave-vdd regulator control logic to avoid unbalanced
regulator_enable() regulator_disable() calls. Meanwhile, correct
the jump label when bailing out from soundwire enumeration failure.
This helps to avoid the regulator_put() call in the device remove
process throwing a warning for a dangling regulator enable status.

Change-Id: I89157f5f9177db69bbbf6aedcc8e605c43a7584e
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2021-04-06 07:42:15 +08:00
Laxminath Kasam
b82a120fb9 wsa: soundwire: Add support for 4p8MHz DAC rate
Add support to use 4p8MHz DAC rate for receiver
over WSA.

Change-Id: Ia0811670326be8131687fbdff70464da063902b2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2021-04-05 09:57:42 +05:30
qctecmdr
0f28ed9daf Merge "ASoC: bolero: Set interpolation rate for IIR input" 2021-04-02 03:50:41 -07:00
qctecmdr
deceaf9e56 Merge "ASoC: QCS405: Additional TDM samplerates and channels" 2021-04-02 03:50:41 -07:00
Laxminath Kasam
b1b430168d asoc: wsa883x: Update low_noise gain for receiver
Add changes to use wsa883x for receiver with
low_noise mode settings.

Change-Id: Icfa43ebbdb1e366f365053535f541bee03751ca3
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2021-04-01 09:11:43 +05:30
Deru Wang
5922d64b86 ASoC: add gvm config file for auto sa8295 platform
Bring up LV GVM audio module for automotive sa8295 platform.

Change-Id: If56b83c3bf0f49480bd1531474e5942c607741b0
Signed-off-by: Deru Wang <deruwang@codeaurora.org>
2021-03-31 19:28:14 +08:00
Vatsal Bucha
2781295e91 ASoC: Add check to prevent buffer overflow for port_idx
Add check to prevent buffer overflow for port_idx in
dai driver.

Change-Id: Id3126520e52590204fdb8bf92d3c4c52b1867354
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-03-31 12:32:02 +05:30
Viraja Kommaraju
83338b5ec0 ASoC: dsp: find CAL block using buffer number
Use FEdai_id to calculate the buffer number and
use the same to identify the right CAL block for
ASM CAL types.

Change-Id: Iab83892f5c2f2bc54c8fa97ac084d8a04586f712
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
2021-03-31 00:10:44 +08:00
Viraja Kommaraju
7e2ffcdcbc ASoC: dsp: find CAL block using buffer number
Use FEdai_id to calculate the buffer number and
use the same to identify the right CAL block.

Change-Id: I3a429d8d12ab670370ec947f2d789f2abf4066f1
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
2021-03-30 16:58:16 +08:00
Guodong Hu
3987721c06 asoc: support non-runtime per-stream, per-device asm channel map
For non-typical channel number playback and capture, we need to
provide asm channel map info, otherwise pcm prepare will fail.

But there is no such default asm map info in audio drivers.

This change is to provide mechanism to set asm channel map, to
ununblock non-typical channel playback and capture.

Change-Id: Idad08c6f3f50b36f5c9c0a813bc0ef493cc57c59
Signed-off-by: Guodong Hu <guodhu@codeaurora.org>
2021-03-30 15:56:45 +08:00
Hongtao Peng
6aa368c112 ASoC: msm: Loopback Driver send asm cal data in prepare stage
Add the q6asm_send_cal in msm_pcm_prepare for loopback driver.
This will allow to send asm calibration data to POPP

Change-Id: I649734ff735a2253c7e01fd5bdd8e9665ef5244a
Signed-off-by: Hongtao Peng <hongtaop@codeaurora.org>
2021-03-29 21:11:28 -07:00
Kunlei Zhang
afdda77f70 dsp: fix KW errors in adm_close
Add null check for cal_block before pointer access.

Change-Id: I485093998ede4d3f5a304df1617fcb2af63ea670
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
2021-03-30 10:42:28 +08:00
Deru Wang
34019b598d ASoC: add machine driver for sa8295 based automotive platform
Add machine driver for SA8295 based automotive platform,
which extended support for TDM interfaces which is used
for data transfer between SA8295 SoC and the automotive
COODEC H/W. Changes include TDM backend and refactored
automotive frontend DAI links as well as kcontrol functions
to configure TDM slot and offset configuration.

Change-Id: I82b2e4515443a5bd7bec8af34447a537cec5ecf3
Signed-off-by: Deru Wang <deruwang@codeaurora.org>
2021-03-29 19:35:16 +08:00
Erin Yan
ea098207c6 asoc: add get function for mixer controls
When set amixer command, it will first read the control element before write.
If the get function is missing, the amixer command will fail.

Signed-off-by: Erin Yan <xinyey@codeaurora.org>
Change-Id: Id5eb1ead1787490d75a21b9cc9ee69bc54e0ea5b
2021-03-29 00:20:32 -07:00
qctecmdr
965a68a22a Merge "dsp: codecs: Add flag to check if wait event initialized before access" 2021-03-27 10:13:18 -07:00
qctecmdr
40bfaf0e9e Merge "asoc: active GPIO122 and enable mclk for sa6155 auto platform" 2021-03-27 10:13:17 -07:00
Soumya Managoli
a567a8e232 ASoC: dsp: Synchronise adm commands
Race condition observed while processing the
get/set_pp_params and adm_close command.
Synchronise adm open, close and get/set_pp_params
by sending the apr cmd pkt using the same lock.

Change-Id: I9a1ebcedc91f78f3940846688f8569ec9088e1e7
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
2021-03-26 16:09:49 +05:30
Vatsal Bucha
0d30652d51 dsp: codecs: Add flag to check if wait event initialized before access
Add flag to check if wait event initialized before access.

Change-Id: Ib4b4654dfe1b0a18506ae6fb8029296a5f780fe9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-03-25 23:20:19 -07:00
Vatsal Bucha
a1ca1d889d ASoC: bolero: Set interpolation rate for IIR input
In rx macro set interpolation rate, sample rate and
bit width is not set if IIR is connected. Set sample
rate and bit width for IIR as well. Also correct
iir_inp_mux_text to follow same sequence as reg value.

Change-Id: I2e90265c066d38ccec9f47a6d25b8224ed710d2d
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-03-25 16:09:32 +05:30
qctecmdr
d1a41d7256 Merge "ASoC: msm: Add 24KHz sample rate for EC Reference" 2021-03-23 00:39:57 -07:00