Commit Graph

412 Commits

Author SHA1 Message Date
Meng Wang
43bbb87652 asoc: Update file header to GPL-2.0-only
Update file header to GPL-2.0-only.

Change-Id: Ic1542a3209a5fe73c937a5b36491ede4a451936d
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-10 14:49:34 +08:00
Meng Wang
15c825d077 ASoC: codec: Update codec driver to component driver
Some alsa API are removed in kernel-4.19 which would cause
codec driver compile failure. Update codec driver to fix it.

Change-Id: Ie358ec1863082166958059c179300b453d2a03ad
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-08 03:15:55 -08:00
Linux Build Service Account
6463cdbf2f Merge "ASoc: ep92: change setup_timer to timer_setup" 2018-12-07 13:20:52 -08:00
Meng Wang
c7b180ec7c asoc: Avoid usage of variable length array
chmap in msm_lsm_check_and_set_lab_controls, data in
wcd9xxx_i2c_write_device and irq_level in wcd9xxx_irq_init
are Variable Length Array (VLA). VLAs are considered unfit
when it comes to security, performance, code quality and so
on. Hence, allocate the memory dynamically.

Change-Id: I52f33e61f857a00774eb26dc1d6372f2ed3d425c
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-06 23:52:08 -08:00
Meng Wang
61af6849e9 ASoC: switch audio drivers to SPDX identifier
Switch audio drivers to SPDX identifier on msm-4.19.

Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-07 15:47:32 +08:00
Meng Wang
978ae25e31 ASoc: ep92: change setup_timer to timer_setup
On kernel-4.19, setup_timer is changed to timer_setup.
Update ep92 driver to fix compile error.

Change-Id: I844241413c72c415819774921f267d84692ba177
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-07 12:27:56 +08:00
Meng Wang
d6107d0bbe asoc: clean up audio drivers and remove unused files
Clean up audio drivers and remove unused files.

Change-Id: I50559ac3c5f4a1f4336e4480cd3ff235d015441e
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-06 15:04:09 +08:00
Linux Build Service Account
53ad8477b6 Merge "asoc: codecs: Correct the clk users increment/decrement logic" 2018-11-24 23:09:30 -08:00
Linux Build Service Account
164fffc986 Merge "asoc: codecs: wcd937x: Optimize HPH PA delays" 2018-11-22 20:08:59 -08:00
Linux Build Service Account
3e440a8895 Merge "wcd937x: Use MICBIAS2 instead of MICBIAS1 for MICB2_VOUT" 2018-11-22 20:08:57 -08:00
Vatsal Bucha
4b8884a7ae ASoC: wcd: Remove non-essential current source votings from adc
Zdet current source is enabled for 4 pole aux cable and kept
even after plug removal. This increases voltage for both hph left and
right which causes error in cross-connection detection for subsequent plug
detections. Remove current source enablement from unrequired places.

CRs-Fixed: 2234559
Change-Id: Icffbca88f7a6873c509c91e31b494dd6d5d21cb9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-22 00:54:35 -08:00
Linux Build Service Account
efce0f1657 Merge "ASoC: wcd9335: Add support for Microphone Activity Detection" 2018-11-21 20:45:55 -08:00
Linux Build Service Account
e515ae3fc2 Merge "msm: update auto suspend delay for voting LPASS NPA resource" 2018-11-21 20:45:54 -08:00
Linux Build Service Account
e83932585b Merge "Asoc: codec: Fix compilation errors for sdmsteppe target" 2018-11-21 20:45:52 -08:00
Aditya Bavanari
c496ed25a9 asoc: codecs: Correct the clk users increment/decrement logic
The clk users count goes out of sync with the actual
clk requests from clients during SSR/PDR. Increment the
clk users only after the clk request is successful.

Change-Id: I512f037a118f4763a64e7a64f7f559bcfa37a37f
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-11-21 02:21:35 -08:00
Laxminath Kasam
7c8ff05871 asoc: codecs: wcd937x: Optimize HPH PA delays
On headphone path, cold start output latency
is not met. Optimize delays during HPH DAC
and PA paths.

CRs-Fixed: 2338278
Change-Id: If96975d664fc655a4ac38a9d6ed88b6af61adfdf
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-21 14:41:00 +05:30
Laxminath Kasam
35849ccf24 asoc: codecs: Fix CnP on HPH turnon and turnoff
On headphone(HPH) path, CnP spec is not met.
Handle sequences for bolero and tanggu codecs
as per HW sequences. Disable vdd_buck during
system suspend when no usecase is active.

CRs-Fixed: 2343436
Change-Id: I62f89d829715f07885a97531fdcb2cc3ca0822ef
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-21 14:40:00 +05:30
Linux Build Service Account
3a0e91bf0c Merge "ASoC: wcd937x: Fix pop after PDR" 2018-11-20 19:53:17 -08:00
Linux Build Service Account
523f345c3a Merge "asoc: codecs: bolero: Disable HD2 on RX macro" 2018-11-20 19:53:16 -08:00
Linux Build Service Account
aea561ec79 Merge "asoc: wcd937x: Handle button press before release interrupt" 2018-11-20 19:53:15 -08:00
Linux Build Service Account
13c086dcee Merge "ASoC: wcd934x: mark wdma3 output widget as ignore_suspend" 2018-11-20 19:53:11 -08:00
Raja Mallik
f008d22120 ASoC: wcd9335: Add support for Microphone Activity Detection
Microphone Activity Detection (MAD) hardware in the codec is used to
perform detection of audio/beacon/ultrasound audio activity on the
microphone. Add routing controls and configuration to enable the
capture support for MAD in WCD9335 codec.

Change-Id: I48359c6069bbebfc7f58efc24654544309912b69
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Signed-off-by: Raja Mallik <rmallik@codeaurora.org>
2018-11-20 12:27:06 -08:00
Vatsal Bucha
2a7cbe473a wcd937x: Use MICBIAS2 instead of MICBIAS1 for MICB2_VOUT
MICBIAS1 is mapped to MICB2_VOUT. Replace it with
MICBIAS2 as MICBIAS2 is used for mbhc detect.

Change-Id: I23bade728f0c5b9de75d78ccb70e57d74f01adbb
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-19 22:03:16 -08:00
Md Mansoor Ahmed
26d8bddff4 Asoc: codec: Fix compilation errors for sdmsteppe target
Fix compilation errors for sdmsteppe target.

Change-Id: I511bfd5271d04b455e46a101c47ea1535681dcca
Signed-off-by: Md Mansoor Ahmed <mansoor@codeaurora.org>
2018-11-20 11:07:28 +05:30
Mangesh Kunchamwar
eb1fdd1afc msm: update auto suspend delay for voting LPASS NPA resource
Reduce auto suspend delay to 100ms from 1500ms for voting LPASS
NPA resource to reduce delay in entering LPASS into island mode.

Change-Id: Ic38f7b9e8d794963e51c30dfd03da586bca84bd2
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-11-19 16:18:33 +05:30
Vatsal Bucha
79da9fb84a ASoC: wcd937x: Fix pop after PDR
Pop is heard after PDR is triggered. This is
because while device down PA is still on.
Disable PA before SSR device down to prevent pop.

Change-Id: I6bfe3e731bdf60fba8fee90ab39c03a0512006ce
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-19 14:41:52 +05:30
Linux Build Service Account
712efd3aa3 Merge "wcd934x: Fix NULL pointer dereference for wcd9xxx pointer" 2018-11-18 23:46:54 -08:00
Linux Build Service Account
d72c877e31 Merge "soc: vote for LPASS NPA resource from LPI TLMM driver" 2018-11-17 09:56:49 -08:00
Bhalchandra Gajare
9ae91fb765 ASoC: wcd934x: mark wdma3 output widget as ignore_suspend
Paths using WDMA3_OUT widget are currently not marked to be ignored
during suspend, which results in the path teardown during suspend.
Due to this the audio use-case is broken. Fix this by marking
WDMA3_OUT widget as ignore_suspend.

CRs-fixed: 2176596
Change-Id: I72a2dda21aabfe9b13ea8660d4e3a51b3185d9ea
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2018-11-16 17:14:17 -08:00
Vatsal Bucha
8d8602219b wcd934x: Fix NULL pointer dereference for wcd9xxx pointer
During bind/unbind of ngd_msm_ctrl power_gate_digital_core
is called. Simultaneously tavil_remove is also called
making tavil pointer as NULL.  Check for tavil as not NULL
at the start of function to avoid NULL pointer dereference.

CRs-Fixed: 2267796
Change-Id: I6fc476cc8b706b556836f30838983de0f34d4fc1
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-15 18:05:52 -08:00
Vatsal Bucha
204f59cd14 ASoC: wcd937x: Enable hph OCP
Update registers to enable OCP for HPHL and HPHR.

CRs-Fixed: 2321013
Change-Id: I51a872981ee2dc435757152b9122067944d13924
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-15 04:32:14 -08:00
Laxminath Kasam
d3ffb3368b asoc: codecs: bolero: Disable HD2 on RX macro
HD2 canceller on analog codec is performing
better and enabling HD2 block on rx macro side
as well impacting THD+N spec. As per HW
recommendation, disable HD2 on digital bolero
rx macro by default. Mixer control option is
provided if required to enable it in future for
any requirements.

CRs-Fixed: 2343436
Change-Id: Ic1696ff9a6dea22a3c2a6071708267e2a024a4c7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-15 15:01:09 +05:30
Linux Build Service Account
ffb86ea061 Merge "asoc: bolero: Add support to register wake irq" 2018-11-14 23:15:24 -08:00
Linux Build Service Account
3de80a4abd Merge "asoc: codecs: Add new class-H driver for wcd937x" 2018-11-14 23:15:18 -08:00
Mangesh Kunchamwar
920015ceb8 asoc: codecs: bolero: vote for LPASS NPA resource
Updates for voting for LPASS island NPA resource while
access any LPASS registers.

Change-Id: Ibcebd2d6ef368f309594689335bc07a36eafeaf0
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-11-15 12:22:48 +05:30
Vatsal Bucha
53b4e14f94 ASoC: bolero: Add callback to tanggu in SSR Disable
Add callback event in ssr_disable to disable
tanggu PA before regcache_cache_only
to avoid pop after PDR. Also update proper bit
while RX Mute.

Change-Id: I06402269d393ca74c11611482cafbde03f4c62b9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-15 11:40:25 +05:30
Mangesh Kunchamwar
912a96accb asoc: codecs: update audio clock driver for LPASS NPA resource
Add new clock node for LPASS NPA resource for clients
to enable or disable the resource.

Change-Id: I8aa587771618d301ace72d6df1045078cdf39c9c
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-11-14 18:39:09 +05:30
Aditya Bavanari
c4e96121c5 asoc: bolero: Add support to register wake irq
Add reg_wake_irq macro callback and issue an event
from Tx macro to Tx sound wire master instance
in order to register for wake irq and to handle
the ipc wake up interrupt.

Change-Id: Iefddc1f85173ce267c0b00c9d06be3a4a2fe29fe
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-11-14 17:06:38 +05:30
Ramprasad Katkam
0730ecfaa0 asoc: wcd937x: Handle button press before release interrupt
If button press and release interrupts occur at same time
processing button release first would treat the button event
as fake, as it is not preceeded with press event. Hence
process button press before button release in irq driver.

Change-Id: I9413def87537502c470236a3948a21be47c479bc
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-11-14 11:48:09 +05:30
Linux Build Service Account
71d091e2ec Merge "asoc: wcd937x: move export functions to new header" 2018-11-13 21:59:22 -08:00
Laxminath Kasam
7adc34e496 asoc: codecs: Add new class-H driver for wcd937x
Add new class-H driver with sequences to support
both class-H and class-AB modes on wcd937x variants.

Change-Id: Ie109f3d951af1e8a0079dd39ab2fe1e9883bd6c2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-13 13:15:59 +05:30
Laxminath Kasam
838f0b885f asoc: wcd937x: move export functions to new header
For export functions from wcd937x use separate
header as internal header is only supposed to be
used within wcd937x driver logic.

Change-Id: Ice373ff95f7166a2f968458b25223c582edc7fba
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-12 21:49:59 +05:30
Laxminath Kasam
de09dfb301 asoc: codecs: bolero: Add HPH power modes on bolero
Two power modes are supported on bolero digital.
Add support to set required power mode using
mixer control and enable runtime during powerup
sequence.

Change-Id: I4c5a7560984d60745ac98848f1eec1d1f8485323
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-11-12 20:19:57 +05:30
Linux Build Service Account
408ba7c759 Merge "asoc: wcd937x: disable TX CH2 after power down" 2018-11-05 21:39:05 -08:00
Xiaojun Sang
80eb5ddfdd asoc: wcd937x: disable TX CH2 after power down
TX channel2 is not disabled after power down. It leads to
noise at the beginning of next recording on CH2.
Disable it after power down.

Change-Id: If12a84df52b9c8cd55de2bdcb91f950b054898b8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-11-02 12:42:50 +08:00
Hari Veerubhotla
dcab67c504 Initial Android target definition for trinket.
Change-Id: Ib55a9013b0fa5bcda0e5d2d17d1741e607a9c9b5
2018-10-31 02:40:21 -07:00
Linux Build Service Account
04804945eb Merge "asoc: bolero: Fix gfmux access during SSR" 2018-10-25 19:21:08 -07:00
Linux Build Service Account
f79c5c1f41 Merge "asoc: codecs: Add proper NULL checks and initialize variables" 2018-10-25 03:13:39 -07:00
Linux Build Service Account
6bbd1d460e Merge "asoc: wcd937x: initialize micb lock mutex" 2018-10-23 21:52:56 -07:00
Laxminath Kasam
701e358482 asoc: bolero: Fix gfmux access during SSR
Avoid access of gfmux register during SSR/PDR.
Reset the gfmux state to MCLK_MUX0 after
SSR up event in rx macro.

Change-Id: I2ac611049efd3ce9d03bc9dcd912f64887a23679
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-10-24 00:53:52 +05:30