Commit graph

2,073 commits

Author SHA1 Message Date
Erin Yan
2f81be27d8 asoc: adapt channel mixer usage to tinymix
Tinymix set the array value of the mixer control one by one. The
channel number validation check here will cause failure in tinymix.
Allow 0 value here is fine because the parameters will be checked
before they are set at runtime.

Change-Id: I49c23f84aa081550434696dde96d2800e90390fb
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
2019-06-16 17:47:03 -07:00
Chaithanya Krishna Bacharaju
e48fb2b1d9 asoc: routing: Add controls to set custom matrix channel mapping
Add controls to set custom matrix output channel mapping to override
default channel mapping.

Change-Id: If50c839c7828528cdb2b1ab18a36204c9406b3e9
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-06-16 17:45:50 -07:00
Surendar Karka
25e77dd111 asoc: add support to set ADM channels for SLIM_9_TX port
In split A2DP sink ADM channels is set to mono based
on BE config. Add support to set ADM channels based
on decoder config received from BT IPC library.

Change-Id: I3925b805593871d420f4cfd3ce4b87adb0e03272
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2019-06-16 17:44:14 -07:00
Dhananjay Kumar
de1ce572ce asoc: udpate qcs405 compress playback dai ops
Currently only Compress2 stream is using hw params as async ops
and hence the startup latency and setup sequence varies for this
usecase as compared to other compress playback streams.
Update qcs405 compress playback dai ops to mark hw params as async
for all compress playback FE dai entries, so that all compressed
playback streams have uniform latency and setup sequence.

Change-Id: Iac965b0ca1c059c49b9b0a985f70df7d382f7446
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-06-16 17:42:43 -07:00
Chaithanya Krishna Bacharaju
6790e92830 asoc: routing: Extend MultiMedia1 channel controls to support 14channels
Extend existing MultiMedia1 Output Channel and MultiMedia1 Channels
controls to support upto 14channels.

Change-Id: Idaa15f7b30139695d7738599f669944ac837c036
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-06-16 17:40:52 -07:00
Chaithanya Krishna Bacharaju
a840a230aa asoc: qcs405: Extend cdc dma tx channel count enum to 16
Extend cdc dma rx channel count enum values to 16 from 8 to support
16channel capture usecases.

Change-Id: If5498dded543f72c4fafceee3ddbe3217b08d258
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-06-16 17:39:40 -07:00
Laxminath Kasam
e13704c699 soc: Handle system suspend for LPI pinctrl
System suspend is not handled in lpi pinctrl driver.
Register to system ops to release lpass hw vote
before apps suspend.

CRs-Fixed: 2439988
Change-Id: I334a993ead5d2abec5286fb5812d67b795d03f3c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2019-06-16 17:37:56 -07:00
Suprith Malligere Shankaregowda
467f2c9c7b ASoC: Add mixer control path for AFE loopback for Voice Call
Add mixer control for AFE loopback for
External Modem based Voice call support.

Change-Id: I379187b9b013a9c97cce3eab6a5a254e102d5ef2
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
2019-06-16 17:33:32 -07:00
Chaithanya Krishna Bacharaju
3dd8fdf8a5 dsp: Define channel map for 14channels
Define channel map for channel count 14 for adm and asm to
support capture usecases for this configuration.

Change-Id: Ieb43dafd05f88bf34fa512fd7268258163e9ac92
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-06-16 17:30:32 -07:00
Karthikeyan Mani
1a0f998031 soc: soundwire: check for valid pointer before dereference
Check if the swr pointer obtained is not NULL before
dereferencing it.

Change-Id: I119141e5fd0b365789f8295d7b43867ede29dd8c
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-12 08:40:31 -07:00
Karthikeyan Mani
326536d1d6 asoc: codecs: defer probe if soundwire pin is not ready
Defer codec macro probes if soundwire pins are not
ready to be accessed yet during boot up.

Change-Id: I20173e49043a076d73cdbb811863afbff87d4a3b
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:48:35 -07:00
Karthikeyan Mani
3dd19d0b73 asoc: wcd938x: initialize micb lock mutex
Micb lock which is used to synchronize micbias
control api is not initialized causing spin lock
errors. Initialize the mutex to avoid the issue.

Change-Id: I98c50fec8e8531333de643a85433d3e5973bfd14
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:48:14 -07:00
Karthikeyan Mani
9e013b2d5a asoc: codecs: wcd938x: Fix volatile register function
Fix the volatile register function to return false
if the registers are not volatile so that the reads
will happen from cache and this improves read timing.

Change-Id: I73149be3855be09a71ad61a6f3143038a7ba029b
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:48:04 -07:00
Karthikeyan Mani
17bea6ec6f asoc: wcd938x: Enable watchdog interrupt
Handle PDM watchdog interrupt. Enable watchdog
before analog PA is enabled and disable it
after analog PA is disabled so as to prevent false alarms.

Change-Id: Id45dee1a150c471d1bb29b9bfed9f416b8454a5f
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:47:42 -07:00
Karthikeyan Mani
31231c306d ASoC: codecs: update for AUX, ear and HPH paths
Add updates to AUX control registers and headphone
and ear path power mode registers.

Change-Id: I7a6b0f23a28a6ab9189c946a78a2f376937d7509
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:47:27 -07:00
Karthikeyan Mani
7f609a3ca0 asoc: codecs: Add support for class ab low power modes
Add codec enable and disable sequences for class ab
low power modes.

Change-Id: If5b54075985c2d4d1a24423c03e78bee119862bc
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-11 17:47:21 -07:00
Vatsal Bucha
a8f9dc90d8 ASoC: mbhc: Fix left channel getting disabled in hs_rem_irq
In wcd_mbhc_adc_hs_rem_irq when hph_on bit is set
both left and right channel should get enabled. But we
enable left channel first, disable left ch and enable right channel.
Fix this to enable both left and right channel.

Change-Id: Ia50c55a0ed68e01359ef0a9c76eba6901a04e17c
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-06-10 23:23:43 -07:00
Meng Wang
8db822a261 asoc: bolero: remove extra semi-colon to avoid compile error
Remove extra semi-colon from wsa_macro_set_spkr_gain_offset to
avoid compile error when wsa-macro is disabled.

Change-Id: Ic94e78822639d70a365c714ad7dd0b2091de8179
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-06-11 10:46:48 +08:00
Karthikeyan Mani
3bd80a59b2 asoc: codecs: add support to disable soundwire devices
Add changes to support disabling of soundwire devices
so that soundwire pins can be freed for other purposes
if needed.

Change-Id: Iae14d43c2c3d5380347be4c3b443c209b2612a97
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-10 17:14:36 -07:00
Sudheer Papothi
776bf8e63e ASoC: wcd938x: Update DMIC enable sequence on WCD938x
Update DMIC enable sequence on WCD938x codec to support
audio capture on WCD DMICs.

Change-Id: I432bbc3a89ad6cbf968fa6474b9bbeb4924e2791
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-06-11 04:32:21 +05:30
Sudheer Papothi
324b495656 ASoC: bolero: Remove unused audio map routings in bolero
Remove unused audio map routing from bolero codec to avoid
index mismatch for mic path enablement.

Change-Id: I09365f54ac5906df9568c78db902000a2dd790eb
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-06-11 04:18:39 +05:30
Zhou Song
c63ec8cd8f asoc: dsp: add missing mixer for 'TWS Channel Mode'
'TWS Channel Mode' is missed due to afe_enc_config_controls
size changed.

Change-Id: Id6a08a7b360364bc94a6786f967ccc191666cefe
Signed-off-by: Zhou Song <zhous@codeaurora.org>
2019-06-10 06:33:21 -07:00
qctecmdr
7ce7820fac Merge "asoc: bolero: restore all codec registers after SSR" 2019-06-10 06:08:09 -07:00
qctecmdr
295db4585f Merge "soc: swr-mstr: skip port disable when master is down" 2019-06-10 05:57:59 -07:00
qctecmdr
a5dfac0270 Merge "asoc: wcd938x: reinit registers after SSR" 2019-06-10 05:56:48 -07:00
qctecmdr
7cd81eea83 Merge "dsp: rtac: use accurate stream id during rtac asm apr call" 2019-06-10 05:52:43 -07:00
Meng Wang
8ef0cc2ed4 asoc: bolero: reset all clks after SSR/PDR
After SSR/PDR, the lpass clocks will be in off state. Force restart
clocks after SSR/PDR, if enabled before SSR/PDR, to reenable the clocks.

Change-Id: I3d850d92bdc6324aa7a64a83a9066f388a85c7f7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-06-06 08:45:19 +08:00
Meng Wang
bb5e0e9d93 asoc: kona: Fix to apply wsa8810 gain settings
Update wsa aux codec matching logic in machine driver
to apply proper gain settings for wsa8810 variant.
Add null check for aux component name to avoid dereference.

Change-Id: Ie332f8e37a2d6b7a250fe299df91fa9cf9d7636b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-06-05 15:24:39 +08:00
qctecmdr
988afa4fca Merge "asoc: adding machine driver for sa6155" 2019-06-04 18:09:53 -07:00
qctecmdr
05c72dcca4 Merge "asoc: codecs: bolero: do not limit boost levels" 2019-06-04 18:02:06 -07:00
qctecmdr
a3e3e26667 Merge "ASoC: codecs: Add support for LPASS Audio HW vote" 2019-06-04 17:59:13 -07:00
qctecmdr
18830e3e89 Merge "ASoC: configs: Disable voice_mhi for lito" 2019-06-04 17:57:21 -07:00
Sudheer Papothi
3590b312ba soc: soundwire: reduce the auto suspend delay to one second
Existing delay for soundwire to auto suspend is 3 secs. Reduce
the delay to 1 sec to improve the power numbers.

Change-Id: I0c13439567eb73b80897f4cf1bbcfb1eded94a9c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-06-04 23:51:30 +05:30
Weiyin Jiang
fcf3cc05fb dsp: rtac: use accurate stream id during rtac asm apr call
Hard coded stream id fails rtac call for subsequential gapless stream
which uses stream id other than default value. To get/set rtac for
gapless session successfully, we need to update the stream_id as a part
of asm apr header with correct value populated from asm session table.

Change-Id: If4afd73b4cf11bf91730a58ae6dff03efb04519d
Signed-off-by: Weiyin Jiang <wjiang@codeaurora.org>
2019-06-03 16:11:54 -07:00
Karthikeyan Mani
4e7401aff9 soundwire: exit from pm function for LPASS HW Core fails
Before proceeding with handling soundwire pm functions
check return value of vote for LPASS HW core and handle
error scenarios.

Change-Id: I4f48c93919a75ebbb072123a12306137118699d0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-06-03 10:52:46 -07:00
Vatsal Bucha
85ab414c7b ASoC: configs: Disable voice_mhi for lito
Lito doesn't use voice mhi. Disable required
config for the same.

Change-Id: Icecac8fc445260542eac7ebc2f0fc64c918c853a
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2019-06-03 12:24:29 +05:30
Rahul Sharma
02bee73b77 asoc: adding machine driver for sa6155
add separate machine driver for sa6155 and necessary
interface changes.

Change-Id: Ie9e498c3e3ccb99af01458f7604f822a11c54e67
Signed-off-by: Rahul Sharma <rahsha@codeaurora.org>
2019-06-02 18:46:46 -07:00
qctecmdr
da4b9b30ca Merge "asoc: bolero: do not disable tx macro clk during SSR/PDR" 2019-05-31 08:55:12 -07:00
qctecmdr
c2cab39530 Merge "ASoC: bolero: Fix issue in clock sequence during VA concurrency" 2019-05-31 08:51:17 -07:00
qctecmdr
da31a3a335 Merge "soc: swr: Release resource lock when not needed" 2019-05-31 08:48:38 -07:00
qctecmdr
424eebc320 Merge "asoc: fix silence data during concurrent capture" 2019-05-31 08:46:49 -07:00
qctecmdr
2fc4f93e2f Merge "ASoC: msm: add lpi support for tdm/mi2s" 2019-05-31 08:44:49 -07:00
Sudheer Papothi
ba445bfe2d ASoC: codecs: Add support for LPASS Audio HW vote
Add support for LPASS Audio HW vote needed for low power AMIC
VA usecase.

Change-Id: If6642d418dbf2cc9773fbd0ec0fe35c30afac140
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-05-31 10:37:27 +05:30
qctecmdr
94ed276792 Merge "asoc: fix offload PBE failure in sending calibration to lpass" 2019-05-30 22:02:15 -07:00
Meng Wang
930d9751a1 asoc: bolero: restore all codec registers after SSR
Some bolero codec registers are not correctly restored after
SSR and causes DMICs on bolero don't work. Add this change to
restore all bolero codec registers after SSR.

Change-Id: I3666a77f802f62452a0e0de4859f48a0f9e5cbb1
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-05-30 17:17:00 +08:00
Karthikeyan Mani
10de393798 asoc: codecs: bolero: do not limit boost levels
Boost level max setting can be left to default
and not needed to be limited to any value.

Change-Id: Iab5073cedd6e69bb4311af9af54ff409d8bfd24c
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-05-29 15:10:59 -07:00
Vignesh Kulothungan
0c5f346bf7 asoc: fix silence data during concurrent capture
Remove static definition of size and index variables, which are
unique to each capture session. Static defintion of index variable
may incorrectly copy data from wrong memory offset. This might inject
silence/clutter in data copied to audio HAL.

CRs-Fixed: 2457887
Change-Id: I7b2f48d21545655ddaa13566ab4ea87a1cbd7424
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-05-29 09:58:13 -07:00
Meng Wang
efbe46a1c5 asoc: wcd938x: reinit registers after SSR
Reinit wcd registers after SSR.

Change-Id: I5a8f22e4f76ffd8b279d1513eaa2f50973e3408c
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-05-29 11:07:33 +08:00
Meng Wang
69b55c855b asoc: bolero: do not disable tx macro clk during SSR/PDR
Do not disable tx macro clk when it's not enabled during
SSR/PDR to avoid clk count mismatch.

Change-Id: I69a59cff9cb57ef3dea366c73629c3eddcb19abe
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-05-29 11:04:45 +08:00
Sudheer Papothi
ff2733c0eb ASoC: Kona: Avoid static route between cpu and codec dai
Currently ASoC core creates a static route b/w
playback/capture widgets of cpu and codec dai
if they are part of the same dai-link. However
this will cause codec path to get powered up first
followed by the backend dai start during device
switch use-case where the front-end is not closed,
leading to audio playback failure if either bit-width
or sample rate is different. Set the dynamic bit of
backend dai dailink to update the backend parameters
before codec path setup.

Change-Id: Ic80755a5672849f527d5d696d31174a62997aca2
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2019-05-29 04:58:18 +05:30