Commit graph

3,312 commits

Author SHA1 Message Date
Aditya Bavanari
d053d56f50 dsp: Fix a memory leak issue when nvmem read returns invalid length
When nvmem cell read returns invalid length the allocated buffer
is not freed. Free the buffer in this scenario to fix
memory leak issue.

Change-Id: I2e0010c1cfb2ea03cb4f25abf55e94ce4f0c5fcf
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-27 13:03:35 +05:30
Sudheer Papothi
83b1aba6b6 ASoC: pcm-routing: Add WSA VI sense macro to support capture
Add WSA VI sense macro to support VI sense capture.

Change-Id: I704aa6fbcb3908c0b76c82c941818b64e1d4598b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-05-27 01:44:33 +05:30
Prasad Kumpatla
515fc228ee asoc: codec: Add pre ssr up event for all macros
Add a pre ssr up event in all macros ,where GFMUX reset
to done before set the dev_up flag to true.

Change-Id: I77229ccd0ed68aac841146a89fe7f76961260aea
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-05-26 15:15:51 +05:30
Aditya Bavanari
5423077cb8 asoc: codecs: Update LPM voting support for vdd-mic-bias-supply
For power saving during RBSC, need to vote for minimum
or zero current on load for respective regulator to
enter LPM mode. Add required support from rouleur
to vote for mic bias accordingly during suspend/resume.

Change-Id: Idb2accbc77241e19f688225081e1b68b99c19e29
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-26 01:59:58 -07:00
Laxminath Kasam
ec8a0b507c asoc: codecs: Update LPM voting support in codec supplies
For power saving during RBSC, need to vote for minimum
or zero current on load for respective regulator to
enter LPM mode. Add required support from audio WCD/WSA
to vote accordingly during suspend/resume.

Change-Id: I578195b84ba18a0b69dde3b93a3f6461efa85f7f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-26 14:22:15 +05:30
Aditya Bavanari
bbf44eeba1 asoc: codecs: Update muxsel registers only when clock counts are not stale
During SSR/PDR use cases, core clock count in different
macros becomes stale and muxsel registers are accessed
leading to NOC errors. Update muxsel registers only after
clock counts are reset after SSR/PDR recovery.

Change-Id: I656f8e7ddc8a92a325c2ba644f1a945cbafb08a0
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-21 04:02:29 -07:00
Laxminath Kasam
e65c93c8f1 audio-kernel: Fix compile with CONFIG_DEBUG_FS removed
Add fix for compilation failure after remove
CONFIG_DEBUG_FS.

Change-Id: I94f851916e1c397848aa5d107774f7480a74270f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-20 13:00:49 +05:30
Fenglin Wu
84d85e958f asoc: swr-haptics: close SWR data channel after stoping playing
Per HW recommendation, when stopping SWR playing, SWR_PLAY register need
to get deasserted before disconnecting SWR data channel. Hence adjust the
sequence.

Change-Id: I15f33fefc8b847c9a7f6abd627217f21f8ddee89
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
2020-05-19 15:50:00 +08:00
Vangala, Amarnath
6d071a4372 ASOC: SPV4 set correct number of speakers.
Set correct number of speakers for Speaker Protection V4.

Change-Id: I66c656174bef64d3cdd64b17d994073e9ee58472
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
2020-05-19 06:27:12 +05:30
Meng Wang
30fad2dc20 asoc: codec: update SOC_SINGLE_SX_TLV to SOC_SINGLE_S8_TLV
Update SOC_SINGLE_SX_TLV to SOC_SINGLE_S8_TLV to make codec
driver compatiable with upstream driver.

Change-Id: I4061b015d715978f3b294ad630f53b64bf66c2b7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-05-19 08:34:39 +08:00
Aditya Bavanari
31aa875405 audio-kernel: Synchronize hw vote and unvote requests
HW vote and unvote is currently called from multiple
clients leading to synchronization issues
during SSR/PDR scenarios. Synchronize all the vote requests
by using digital codec resource manager.

Change-Id: I7e63f69ab5d761a3bb4c7ce70bbef2e8bfd76cfb
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-18 09:04:25 -07:00
qctecmdr
127718f3d9 Merge "soc: remove reslock usage during wakeup vote/unvote" 2020-05-16 03:24:33 -07:00
qctecmdr
934188e064 Merge "dsp: afe: add support for codec dma data alignment API" 2020-05-16 03:24:33 -07:00
qctecmdr
acc52d9076 Merge "asoc: lahaina: update and affine qos value" 2020-05-16 03:24:33 -07:00
Aditya Bavanari
f03085692d asoc: Add digital mute callback function for cdc dma
Add a new digital mute callback function for cdc
dma as it uses a different dai structure.

Change-Id: I8db4e9610aee0d519ccc50975a779b9d2d8c671e
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-15 03:10:18 -07:00
Surendar Karka
98a6eda631 asoc: qcs405: add support to set clock drift
AFE driver maintains the clk id for each port.
AFE driver has no clue of the master port in META I2S port.
Add support to set the clk id for META I2S port.

Change-Id: Ic531e94df5503f5ff95364830c5177e9cd86af6c
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2020-05-15 03:06:49 -07:00
Surendar Karka
a44c970466 asoc: add mixer control to set clock drift
Add mixer controls support in routing driver to
adjust the source PLL clock drift.

Change-Id: I211330793f8650902130905f308dc5d4b73e09fa
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2020-05-15 02:47:02 -07:00
Surendar Karka
6ea98f1cae dsp: Add support to set clock drift
- Add support to adjust drift in audio interface
  clock source PLL.
- ADSP adjusts the source clock based on clk id. Add support
  in AFE driver to get clk id based on the AFE port.

Change-Id: I45ceb6579bb15e32541051e0ba936a2d903e4923
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2020-05-15 02:44:36 -07:00
qctecmdr
4bef843da5 Merge "asoc: wsa883x: Update init values of VAGC" 2020-05-14 22:04:37 -07:00
qctecmdr
a37afa76c0 Merge "ASoC: create wsa883x codec entry in proc fs" 2020-05-14 22:04:37 -07:00
qctecmdr
411fc736f9 Merge "ASoC: lahaina: Update sample rate for speaker protection" 2020-05-14 22:04:36 -07:00
qctecmdr
81b18718b9 Merge "ASoC: dsp: Speaker Protection V4" 2020-05-14 22:04:36 -07:00
qctecmdr
c3c4fd765e Merge "ASoC: update headers for upstream compliance" 2020-05-14 22:04:36 -07:00
qctecmdr
072e3e291c Merge "asoc: codecs: Add default case for switch." 2020-05-14 22:04:36 -07:00
qctecmdr
763894acd7 Merge "asoc: codecs: check the spkr status before access the wsa registers" 2020-05-14 22:04:36 -07:00
qctecmdr
ca1d3b1231 Merge "dsp: codecs: Add spin_lock_irqsave instead of spin_lock" 2020-05-14 22:04:36 -07:00
qctecmdr
55e8b9735a Merge "ASOC: Remove support for ANC headphones" 2020-05-14 22:04:36 -07:00
qctecmdr
564e35a030 Merge "asoc: msm-compress: Reset channel map flag during close." 2020-05-14 22:04:36 -07:00
qctecmdr
0b521bbfad Merge "asoc: add new fe for hearing aid" 2020-05-14 22:04:36 -07:00
qctecmdr
0b7eee39e7 Merge "asoc: lahaina: add fe proxy port for hearing aid" 2020-05-14 22:04:35 -07:00
Surendar Karka
c238fc0d74 asoc: enable TTP generator
Add support to enable TTP generator in AFE.

Change-Id: I0186dc18809b87a912a1c3ec9dd7fcd26aa726f5
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2020-05-12 23:50:02 -07:00
Aditya Bavanari
fbe5306c02 asoc: codecs: Add support to dump rouleur swr slave regs
Add support to dump rouleur swr slave regs.

Change-Id: I7bb3664ba4a81ab83dae12534dfe403ac1db6013
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-12 23:44:00 -07:00
Aditya Bavanari
315e4b16e2 adsp-loader: Add support to load adsp fw name
When adsp variant read from fuse registers is not
supported, add support to read the fw name
and load the same.

Change-Id: Icf9aeee8b4c607a6f768f0d73ab0e55d78dc8ac9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-12 23:42:31 -07:00
Prasad Kumpatla
924c7d027c asoc: codecs: Add default case for switch.
Add default case for switch to avoid the
Null pointer dereference for the map and num_ports
variable in for loop.

Change-Id: I59c9dc6e5396bcb409876378c811143da1c81551
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-05-12 23:41:45 -07:00
Vangala, Amarnath
00ee526deb ASoC: dsp: Speaker Protection V4
Support for Speaker Protection V4 feature.

Change-Id: I2237836243a716d4ed3288c9c613bc8d4ec5a282
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
2020-05-13 12:00:26 +05:30
Laxminath Kasam
06f7fcd942 asoc: bolero: Update rx dc droop register setting
For RX DC droop setting, ensure update proper
value during powerup/powerdown based on
sample rate.

Change-Id: I269d41452911e1999b2dbdf4fa22e383aa973848
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-12 22:59:08 -07:00
Aditya Bavanari
9f50810d7f asoc: codecs: Update rouleur watchdog interrupt sequence
Update PDM watchdog interrupt sequence for rouleur
codec. Add HPH PA gain registers in regmap and update
defaults. Update mic bias register bits and rouleur
version for ADIE RTC to work.

Change-Id: I1bbb41efcdd9a0a8b38fcd4beadbd5d639a4b858
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-12 22:57:48 -07:00
Aditya Bavanari
3382d06882 asoc: Add a separate mbhc config for rouleur codec
As rouleur codec supports only 5 buttons and headset
vref max value is 1.7V, use a separate mbhc config
structure to initizlize mbhc.

Change-Id: Icd78d8c10f3d4dd3585c76c407d2d323c20cbe3f
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-12 22:57:21 -07:00
Prasad Kumpatla
521ea726c2 asoc: codecs: check the spkr status before access the wsa registers
Before access the wsa register check the spkr status bit in
power-down sequence.

Change-Id: I5e07ee56e17701275784fd4c413bc214c5893989
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-05-12 22:56:32 -07:00
Aditya Bavanari
19363f7321 asoc: Add Rx swr master port config for scuba target
Add port config for Rx swr master in order to
support the rouleur codec in scuba target.

Change-Id: Ic278d02f222686afc6ff976c4b1c3bb499ed903f
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2020-05-12 22:56:22 -07:00
Samyak Jain
d46f27c4be soc:bengal: add proxy ports for call screening in machine driver
add machine driver changes for proxy port changes.

Change-Id: I95e269953fa482002d028c60165ba5ad95521f6f
Signed-off-by: Samyak Jain <samyjain@codeaurora.org>
2020-05-12 22:54:46 -07:00
Vatsal Bucha
ec8b554e4d bolero: rx-macro: Resolve noise on ear path during hph ear concurrency
There is noise on ear path during hph and ear concurrency.
Set proper HPH_V_PA voltage when both hph PA is in
class-H mode to resolve noise.

Change-Id: Ifbbfb5691687dcb2202358c1e387252954d58db2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2020-05-12 22:52:06 -07:00
Sanjana
fa2b1d3089 asoc: qcs405: fix pop at end of DSD playback
Fix pop at end of DSD playback by muting
csra devices during hw_free.

Change-Id: Ie084ade6aeb310ee28e4478b4673075ca69153c9
Signed-off-by: Sanjana <sanjb@codeaurora.org>
2020-05-12 22:51:07 -07:00
Sanjana B
e497a31d29 asoc: csra: update mute register of csra66x0 codec
Update mute register of csra66x0 codec when
called from hw_free api.

Change-Id: I728d1ca3076899ad0e6dea4dcac28416b3e40b18
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
2020-05-12 22:50:35 -07:00
Zhou Song
f1f69780c0 asoc: lahaina: update and affine qos value
Fix qos value to 300 micro seconds to prevent core
from going into low power mode when low latency
session is active.
Also pin this qos to core 1 & core 2 where audio
and glink threads are running to let other cores
to go to low power modes if possible.

Change-Id: Ic97936303b5006c44ec2bb080e3558e54f6d8068
Signed-off-by: Zhou Song <zhous@codeaurora.org>
2020-05-13 12:49:50 +08:00
Meng Wang
4fed159385 dsp: afe: add support for codec dma data alignment API
Add support for codec dma data alignment API.

Change-Id: Ifcca9454fee4f65dc8787dc39a36acfd4c3af392
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-05-13 12:39:45 +08:00
Laxminath Kasam
8250aa6bfe soc: wsa883x: Update changes for wsa8830
Update DRE_CTL offset to 3 for wsa8830 variant.

Change-Id: I9acab01b0099093b8e427d52e48ba9744c6f5aac
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-05-12 20:42:26 -07:00
Vignesh Kulothungan
6142448043 soc: remove reslock usage during wakeup vote/unvote
Remove reslock usage from device wakeup vote and unvote functions.
Mutex lock 'reslock' is to used only within runtime resume
and suspend functions, to avoid race conditions between them.

Change-Id: I221b00db2e762a0803b898a62cd98db1fe3ae3fa
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-05-12 16:15:51 -07:00
Vangala, Amarnath
e4efa1c51f ASOC: Speaker Protection V4 API
API changes for Speaker Protection V4.

Change-Id: I3f00831d90ba0fd11db915cc0af96cf429fc98c9
Signed-off-by: Vangala, Amarnath <avangala@codeaurora.org>
2020-05-13 04:03:36 +05:30
Sudheer Papothi
aa730ef492 soc: soundwire: Fix soundwire bus clock frequency
Soundwire bus clock frequency should not exceed MCLK. Fix
the soundwire bus clock frequency to MCLK during clock scaling
for proper SSP calculation.

Change-Id: I347c8ee0f63f34428160a3408eaa0e999142bc78
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2020-05-11 09:31:22 -07:00