Commit Graph

83 Commits

Author SHA1 Message Date
Meng Wang
19fa6defdc asoc: update kernel version for kona
Update kernel version for kona.

Change-Id: I490832f0a62f8f1b5cfe6fc6134e22cc5d8ae583
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-20 12:36:53 +08:00
Meng Wang
11a25cf657 asoc: update relative header files
Move all relative header files to include folder.

Change-Id: Ic61a61a88823b4749dbe8c1f680d08201a3b4a48
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-18 10:50:27 +08:00
Meng Wang
2b901bc05b ASoC: codecs: update max value for HPH volume
On tavil, the range for HPHL/HPHR volume is 0 to 24.
Update max value for HPHL/HPHR Volume.

Change-Id: I03f2eb3f833e5dc93a7cddaba09e765aa6077616
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-12-11 00:05:32 -08:00
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
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
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
13c086dcee Merge "ASoC: wcd934x: mark wdma3 output widget as ignore_suspend" 2018-11-20 19:53:11 -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
Hari Veerubhotla
dcab67c504 Initial Android target definition for trinket.
Change-Id: Ib55a9013b0fa5bcda0e5d2d17d1741e607a9c9b5
2018-10-31 02:40:21 -07:00
Linux Build Service Account
03072ce6e1 Merge "audio-lnx: ANDROID_BUILD_TOP is deprecated." 2018-10-23 01:32:43 -07:00
Bhalchandra Gajare
077589df00 ASoC: wcd934x: enable MAD fs_cntr by default
Currently, the fs_cntr for MAD is enabled whenever the MAD
audio path is enabled. But, a new issue is reported where
MAD fs_cntr is required even for some of the non-MAD paths.
As per hardware requirements, enable the MAD fs_cntr always
from the codec default registers.

Change-Id: I6fe8f663b82e711b4194aa51a3e21150aa98cf02
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2018-10-11 11:08:04 -07:00
Linux Build Service Account
a25f9ecc66 Merge "ASoC: wcd934x: Set micbias curr to higher value when micb is enabled" 2018-10-11 08:04:55 -07:00
Vatsal Bucha
78607e4927 ASoC: wcd934x: Set micbias curr to higher value when micb is enabled
When micbias is enabled set curr to higher value for
vreg bob bypass and when it is disabled set it
to default value for sm6150.

CRs-Fixed: 2315478
Change-Id: I451506002f382e666d47bc83944bdc8dbbedcad8
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-10-08 14:10:23 +05:30
Sudheer Papothi
2498e397f4 ASoC: wcd934x: Avoid soundwire enable when codec is in power collapse
During SSR, when the playback on speaker gets started before codec
is out of digital core power collapse, results in soundwire
register read/write failures. Check for codec power state before
enabling the soundwire during speaker device path enablement for
playback usecase to avoid soundwire register read/write failures.

Change-Id: I3b45ef0c34ad4f97aad89afaf719989ffbda7485
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-10-01 11:50:15 -07:00
Siddeswar Aluganti
85e9e16065 audio-lnx: ANDROID_BUILD_TOP is deprecated.
ANDROID_BUILD_TOP variable is deprecated and thus all paths are
assumed to be relative to the top directory.

Change-Id: Ifc1bba67bf47092a37336581990d4bcce82a72f5
2018-09-25 19:03:00 -07:00
Laxminath Kasam
d7262ae1e0 asoc: wcd934x: add SSR events to trigger to new swr master controller
For new swr master controller to recover WSA on wcd934x variant,
trigger events from wcd934x driver for ssr down and up.

Change-Id: I8f0163178708760ef3ad2a765a80682611693e9b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-25 11:35:35 +05:30
Meng Wang
567bcd3b7a ASoC: wcd934x: check sound card state to avoid pointer dereference
When codec probe is not correctly completed and ADSP SSR happens
before sound card is registered, calling SSR callback may result
into NULL pointer dereference and kernel panic happens.
Check sound card state when calling device_down and post_reset to
avoid NULL pointer dereference.

Change-Id: I35fd84af51edf45db6fd451dc68dbcaaed11fee7
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-09-18 15:33:31 +08:00
Karthikeyan Mani
dd50371847 asoc: mbhc: fix for fake ins irq
Check for in2p clamp state in insertion irq
and ignore the interrupt if the clamp is already
set, which means the mechanical removal is about
to happen next.

Change-Id: I55691d427cf07d5b61862b6dbd39f3ec34d873e5
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-08-30 01:05:53 -07:00
Linux Build Service Account
9970fc4999 Merge "ASoC: wcd934x-dsp-cntl: add debugfs node to perform debug dumps" 2018-08-25 04:00:44 -07:00
Banajit Goswami
57245da21e asoc: wcd934x: add support for SSR handling using SND event FWK
Add support for SSR/PDR handling using SND event framework.

Change-Id: Ia96858ed6dc43cbb80d01a7797abb57442813d3b
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-08-22 10:34:42 -07:00
Xiaoyu Ye
30765fcae3 ASoC: wcd934x-dsp-cntl: add debugfs node to perform debug dumps
Currently, for any WDSP errors, the driver collects the debug
dumps/information based on trigger from userspace. This is protected
under CONFIG_DEBUG_FS and should not be run unless stress tests are
executed and this functionality is explicitly enabled since
performing debug dumps could possible leave the WDSP in bad state.
Add debug node to control dumping debug information and not rely
only on CONFIG_DEBUG_FS

To enable debug dumps:
echo 1 > /sys/kernel/debug/wdsp0/debug_dump_enable

To disable debug dumps:
echo 0 > /sys/kernel/debug/wdsp0/debug_dump_enable

Change-Id: I67d8781839d9caee16e6bf6a5befd9010ccaafc0
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-08-15 18:23:16 -07:00
Xiaoyu Ye
6095db3f9e ASoC: wcd934x-dsp-cntl: initialize local char array val
Due to the local char array that stores the codec dsp control command
is not initialized, an invalid command could cause the stack content
to be printed out in kernel dmesg. Initialize the array with memset.

Change-Id: I739eacb5058275c91bef67505531097cb364b93e
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-08-06 21:12:09 -07:00
Laxminath Kasam
144eabc3ee audio: Add support for audio on msmsteppe
Update config file and make rules for msmsteppe
compilation.

Change-Id: I374a0725a7dd36edc9e04652fb07dc719310565c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-31 11:23:46 +05:30
Linux Build Service Account
8e4d9058d3 Merge "ASoC: wcd934x: skip mutex lock for WDSP boot timeout debug dump" 2018-07-09 11:56:34 -07:00
Karthikeyan Mani
3dd07e6937 asoc: mbhc: ignore mbhc event report during ssr
When ssr is in progress, during some race conditions
mbhc events are getting reported when codec is still
coming up. Ignore such events without reporting.

Change-Id: I3d3f78f97c2b855fc36a480f38c166bda2d979f0
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-07-02 11:22:40 -07:00
Xiaojun Sang
353723e8e0 ASoC: wcd934x: skip mutex lock for WDSP boot timeout debug dump
In the case of WDSP boot timeout, api_mutex and ssr_mutex have already
been acquired. There is no need to do mutex lock again during debug dump.
Check the signal enum to see if it's the internal WDSP boot timeout case.

Change-Id: I6fe5e77b1bff72ed5ad463bb1df76c6b02c84c92
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-06-29 17:17:22 -07:00
Karthikeyan Mani
e964a75f32 asoc: codecs: cancel all delayed work during SSR/PDR
Cancel any pending delayed work in device down call
to ensure no work is scheduled during or after a
SSR/PDR sequence.

Change-Id: I4cc89cb1a9d8be732c978044d4eea3cf6644ec30
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-06-09 11:26:06 -07:00
Xiaojun Sang
e0c3f3f39d ASoC: codecs: fix inconsistency of boost state register value
Use hardware default value for boost state in regmap.
Use correct mask for initial value of boost state.

Change-Id: Ia8b707ba0128662d47059d25325693bc8eaff723
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-06-08 15:04:09 -07:00
Meng Wang
da08f2f315 ASoC: wcd934x: Reset power_active_ref to 0 when it is negative
Reset power_active_ref counter to 0 when it is negative to
take digital core out of reset during next session.

Change-Id: I724ffe6e3547655424238ca02a9bf8ac24b101fe
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-06-06 23:49:40 -07:00
Linux Build Service Account
63d524f082 Merge "asoc: codecs: wcd934x: add stub functions for codec APIs" into audio-drivers.lnx.3.0 2018-06-01 10:34:40 -07:00
Karthikeyan Mani
dbfc6a776a asoc: codecs: wcd934x: add stub functions for codec APIs
If wcd934x config is removed, need to stub out the
APIs to load any dependent audio modules and enumerate
sound card.

Change-Id: If885d4d1f0ee83448ac41ed66b51f078978cb7d1
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-05-21 11:16:45 -07:00
Salendarsingh Gaud
ad978894b9 Configure CONFIG_ARCH to enable compilation
Use CONFIG_ARCH_SM6150 for Talos to enable
proper compilation.

Change-Id: I14e06122116c431bf4b99da3a061d165f68e0d4f
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-05-16 17:48:18 +05:30
Abhishek Arpure
6d74b706f0 Initial Android target definition for msmsteppe
Add MSMSTEPPE in the makefile rules to enable
compilation for SDM640.

Change-Id: I36437404d98229c8b292fd63304498122d8c8687
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-04-26 18:28:03 +05:30
Xiaoyu Ye
60c105d5c9 audio-kernel: update chipset name
Update all audio drivers to use updated chipset name in
files, functions, architecture specific configurations
and the device tree compatible strings.

Change-Id: I507948866213ddb8806edea71a57c1f29ce7e71b
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-04-18 10:34:42 -07:00
Linux Build Service Account
5f0b5040eb Merge "ASoC: Add audio support for sdmshrike" 2018-04-16 10:12:01 -07:00
Banajit Goswami
f58e5fcf72 audio-kernel: update chipset name
Update all audio drivers to use updated chipset name
in architecture specific configurations and the device
tree compatible strings.

Change-Id: Ib1abe643c6914c1b0b57ef110c7b60e23e356d97
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-04-11 16:18:52 -07:00
Sudheer Papothi
e3842cf831 ASoC: Add audio support for sdmshrike
Add audio support for sdmshrike.

Change-Id: I0b86ab7b123a3215617b81a645202785f6810d02
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-04-11 10:53:22 -07:00
Linux Build Service Account
257abe3e99 Merge "asoc: codecs: set boost state to MAX_STATE_2 for WSA8815" 2018-03-21 10:17:17 -07:00
Linux Build Service Account
ed523bc624 Merge "asoc: wcd934x: update register default values before post SSR" 2018-03-21 01:40:57 -07:00
Linux Build Service Account
3cf90f9a08 Merge "asoc: codecs: add null pointer check for swr control data" 2018-03-21 01:40:55 -07:00
Linux Build Service Account
c0f79e7211 Merge "ASoC: wcd9360-dsp-cntl: Limit array size of val" 2018-03-21 01:40:51 -07:00
Xiaojun Sang
09cd2ac5e9 asoc: codecs: set boost state to MAX_STATE_2 for WSA8815
WSA8815 requires default boost state of MAX_STATE_2, when
speaker protection feature is disabled. Set boost state to
MAX_STATE_2 in all cases for WSA8815.

Change-Id: Ic700d9a206e94a4cdd1d99f8547bed9df1e759e8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-03-21 10:36:31 +08:00
Karthikeyan Mani
24afb6e390 asoc: codecs: add null pointer check for swr control data
Null check is needed before accessing swr control data
to ensure proper error handling in case speaker path
is issued when swr is not enabled.

Change-Id: I5037a912652189b3ae58f1119d0534777a9c264a
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-03-16 14:46:33 -07:00
Meng Wang
bb4029020d asoc: wcd934x: update register default values before post SSR
Update register default values before post SSR to avoid codec nack issue.

Change-Id: Ibf1e3275d27c4b65ab179b9ddc5a51621c89eab7
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-03-08 20:34:24 -08:00
Xiaoyu Ye
3bda9b1de1 asoc: wcd934x: optimize ANC enablement logic for Tavil codec
In Tavil driver, both ANC0 and ANC1 channel registers are written when
each ANC channel is enabled. This logic results in high latency during
ANC enablement on Tavil codec. Optimize this logic by only writing the
corresponding channel registers when enabling ANC0 or ANC1.

Change-Id: I62e8572967e6ca6c851cbaaad5f1b8c19e5b1a5f
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-03-07 17:25:34 -08:00
Sudheer Papothi
ca7ca2c804 ASOC: wcd934x: Fix finding of correct AMIC
During Tx path enablement, amic information is needed for proper
power level settings and for better performance. Existing API returns
incorrect amic information. Changes provide the correct amic information.

Change-Id: I18f3f35212cae47e5d944c2e075f03889147722b
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-03-05 13:24:15 -08:00
Linux Build Service Account
e542fb699a Merge "ASoC: config: Enable configuration for WCD934x codec" 2018-03-05 00:58:01 -08:00
Linux Build Service Account
3968f84b45 Merge "ASoC: wcd934x: Update OCP before HPH PA enable/disable" 2018-03-02 23:16:33 -08:00