Commit graph

3,709 commits

Author SHA1 Message Date
qctecmdr
d295bb719b Merge "asoc: wsa883x: Update wsa8832 variant" 2021-05-04 23:58:43 -07:00
qctecmdr
e305695de0 Merge "asoc: fix chmixer for playback and record" 2021-05-04 23:58:43 -07:00
qctecmdr
0d2dd62a27 Merge "ASoC: routing driver update for septenary tdm interface" 2021-05-04 23:58:43 -07:00
qctecmdr
4b7fb6bf2b Merge "ASOC:Skip first buffer if not full" 2021-05-01 01:24:33 -07:00
qctecmdr
a4fc0b84aa Merge "bolero: tx-macro: Fix link status not connected issue due to clk not enabled" 2021-05-01 01:24:33 -07:00
Hexuan Zhu
44a34d8c47 asoc: fix chmixer for playback and record
If we want to make chmixer work, chmixer input map should be
the same as asm output map, output map should be the same as
adm input map. and need to reverse when record.

Currently if we set chmixer input map under pre-run, the override
flags are not set true, and also default branch didn't work when
record.

Also chmixer didn't support customer value for record during run-time.

This change make chmixer take effect when playback and record
for both default value and customer value during pre-run and run-time.

Change-Id: I3d1455092d41fa6a30c3ddf09c3b0b3023d9cc10
Signed-off-by: Hexuan Zhu <hexuzhu@codeaurora.org>
2021-04-29 10:57:39 +08:00
Cong Tang
65a3c534ee ASoC: routing driver update for septenary tdm interface
update routing driver to support septenary tdm interface.

Change-Id: I19a02ac13f1afcdff5b01b06919640fec6d70d1f
Signed-off-by: Cong Tang <congt@codeaurora.org>
2021-04-28 17:25:35 -04:00
Laxminath Kasam
c747081be4 asoc: wsa883x: Update wsa8832 variant
Add support for WSA8832 variant.

Change-Id: I2fdbe7bf00eb3d10087520749d65b902802619bd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2021-04-27 14:16:14 +05:30
E V Ravi
910c1c1c7f audio-kernel :Send response to rtac module for cmd_state_pp in non waiting
APPS sends timeout due to mishandling of callback event between RTC and ASM
driver even if they get callback from ADSP. Check for the cmd_state_pp in
ASM before RTAC callback.

Change-Id: I78cb6735b19b53a44f550948efd05446ff8950ad
Signed-off-by: E V Ravi <evenka@codeaurora.org>
2021-04-25 23:50:09 -07:00
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
Vatsal Bucha
18342de177 bolero: tx-macro: Fix link status not connected issue due to clk not enabled
Sometimes link status is not connected due to tx_mclk_users
not being properly updated. This is due to tx_mclk_users
enable and disable not being protected by common mutex lock.
Add mutex lock whereever it is accessed to resolve issue.

Change-Id: Ibba208be1f2d3eaf63c49e434c2ae48bc3b5b2d8
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2021-04-22 11:41:14 +05:30
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