Commit Graph

283 Commits

Author SHA1 Message Date
Laxminath Kasam
9eb80226a0 asoc: bolero: fix pop issue at start of record
Observe pop at start of recording. Change the
order of HPF setting in decimator enable path
and update freq_change bit for HPF corner frequency change.

Change-Id: I6257671224a792a2afd71209fdc4e0102a83ced8
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-09-03 16:41:43 +05:30
Ramprasad Katkam
997da40118 asoc: wcd937x: enable headset detection
Enable mbhc on wcd937x for headset insertion and
removal detection.

Change-Id: I0b2ae7ea061a99ad89f9adea00c898dac4442ca6
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-30 20:13:47 +05:30
Ramprasad Katkam
9c2394a6e4 asoc: Talos-tanggu bringup fixes
Bringup fixes to enumerate tanggu codec on talos.

Change-Id: Ic9c43ec0b870f6fec3c6d21fd4d77606c7ed94b1
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-29 11:04:43 +05:30
Linux Build Service Account
3712485b8f Merge "ASoC: wcd937x-mbhc: Add support for headset moisture detection" 2018-08-25 04:00:44 -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
Sudheer Papothi
eb8d8cb100 ASoC: wcd937x-mbhc: Add support for headset moisture detection
Add support for headset moisture detection on wcd937x codec.

Change-Id: Ib9021869a5d3a0d4e5b8a912b235b68fad90f94f
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-08-20 14:07:25 -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
Meng Wang
d4e11ac7a4 asoc: wcd-dsp-mgr: reinit ssr ready flag for adsp/wdsp ssr
When adsp/wdsp SSR happens, WDSP_SSR_TYPE_WDSP_DOWN/WDSP_SSR_TYPE_CDC_DOWN
would get received by wcd-dsp-mgr. wcd-dsp-mgr would clear current work and
init wdsp when adsp is up and ready_compl flag is set to ready. Sometimes
ready_compl flag is not cleared and wdsp initialization would happen when
adsp/wdsp is down which would cause kernel panic.
Reinit ready_compl flag when adsp/wdsp SSR happens.

Change-Id: I45186abba7992ee6912c5b0da171ef37b04e2e71
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-08-15 14:57:53 -07:00
Sudheer Papothi
a45a56e824 ASoC: wcd-mbhc: Avoid headset jack corrosion due to moisture
Detect moisture in the headset jack and avoid headset jack
corrosion due to presence of moisture over prolonged duration.

Change-Id: I0227e516feb58c96ddf6a8fbc32423bfe7733ca6
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-08-16 03:27:20 +05:30
Ramprasad Katkam
f83acfb0f2 asoc: Binrgup fixes for talos
Add fixes related to audio bringup

Change-Id: I46fa0bb9c6f914fe9034f4fb78ef2248de7ebd50
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-11 23:28:57 +05:30
Linux Build Service Account
6fb0c6797f Merge "asoc: codecs: Tanggu reset pin and supplies" 2018-08-11 07:40:27 -07:00
Linux Build Service Account
fc9ba4e933 Merge "asoc: bolero: Update route map to enable MCLK for adie loopback" 2018-08-11 02:52:55 -07:00
Linux Build Service Account
477a5f2452 Merge "asoc: bolero: Update AIF dai-id to start with value 1" 2018-08-11 02:52:54 -07:00
Linux Build Service Account
505d896859 Merge "ASoC: wsa881x: Fix regcache sync issue during playback" 2018-08-10 10:24:45 -07:00
Tanya Dixit
6256c5b989 asoc: codecs: Tanggu reset pin and supplies
Enable power supplies and reset of Tanggu

CRs-Fixed: 2281591
Change-Id: I7d693263f328b51d2f333bddac5e15e98a5f9f51
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-08-10 13:56:31 +05:30
Linux Build Service Account
e1d192895c Merge "ASoC: wcd934x-dsp-cntl: initialize local char array val" 2018-08-09 22:44:53 -07:00
Linux Build Service Account
55d691c183 Merge "asoc: wcd9360-dsp-cntl: initialize local char array val" 2018-08-09 22:44:47 -07:00
Laxminath Kasam
59c7a1de15 asoc: bolero: Update AIF dai-id to start with value 1
ASoC core assigns dai id value to num_dais if
AIF dai-id passed is 0. Since we have different macros
passing AIF dai-id as 0, they are replaced in ASoC core.
To handle this, update AIF dai-id in respective macros
to start with value 1.

Change-Id: I222c088289292aa226c90710e56a8c94af5615cd
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-09 16:13:44 +05:30
Linux Build Service Account
a771e10ca7 Merge "asoc: wcd937x: Add swr port connections for wcd937x" 2018-08-09 02:06:20 -07:00
Linux Build Service Account
0d5b92fd99 Merge "asoc: bolero: Enable class-H for all interpolators" 2018-08-08 19:03:13 -07:00
Linux Build Service Account
d72b461a81 Merge "ASoC: Add MBHC and IRQ driver for WCD937X" 2018-08-08 11:08:33 -07:00
Ramprasad Katkam
95cfa1516b asoc: wcd937x: Add swr port connections for wcd937x
Add interface to read swr port mapping from device
tree and call connect port to swr interface from
wcd937x codec driver.

Change-Id: I82e8d7a8063b725292e0d7ca5e519f279289efe0
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-08 15:04:35 +05:30
Linux Build Service Account
b7d3f59c2a Merge "asoc: codecs: Tanggu TX RX changes" 2018-08-07 10:00:30 -07:00
Laxminath Kasam
fc281adbdd asoc: bolero: Update route map to enable MCLK for adie loopback
For ADIE loopback, MCLK needs to be enabled.
Associate the macro MCLK widgets to respective
rx and tx paths in route map.

Change-Id: I5632c3016146c5c5d822ae6fe438010904cf434b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-07 22:20:10 +05:30
Laxminath Kasam
d2d8d9f683 asoc: bolero: Enable class-H for all interpolators
On bolero and tanggu combination, enable digital side
class-H by default.

Change-Id: I366a7217dbbe7640846275eea57ef0c61cfcdf5e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-07 22:19:59 +05:30
Linux Build Service Account
9293b8a210 Merge "ASoC: codecs: Compile wcd irq as part of CONFIG_SND_SOC_WCD_IRQ" 2018-08-07 06:18:45 -07:00
Vatsal Bucha
92fad90ae5 ASoC: Add MBHC and IRQ driver for WCD937X
Add MBHC and IRQ driver for tanggu codec.
MBHC and IRQ for tanggu are initialized from
core driver. IRQ driver uses REGMAP-IRQ
framework.

CRs-Fixed: 2281591
Change-Id: I06adb3081dd17f896b3e6a3ce0c4c46b5ef1cbea
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-08-07 17:32:16 +05:30
Laxminath Kasam
c0684fc6cd ASoC: wsa881x: Fix regcache sync issue during playback
When temperature on a single wsa881x device is being read,
then soundwire master wakes up both wsa881x devices but
regcache_sync is happening only for one wsa881x device on
which the temperature is being read. This results in
audio playback mute after temperature read. Fix the
regcache sync during temperature read and playback usecase.

Change-Id: I054f4432d7ae7bce922341ad62b20544cccd5865
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-08-07 09:59:38 +05:30
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
Xiaoyu Ye
e45af077d8 asoc: wcd9360-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: I07211c4cc06b2c2df21b674e6812c4d5efc45dc4
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-08-06 15:01:10 -07:00
Tanya Dixit
9b37ac95f1 asoc: codecs: Tanggu TX RX changes
Tanggu codec driver changes for RX and TX
widgets, dapm sequences and routes update.

CRs-Fixed: 2281591
Change-Id: I769255e80c8569f7d954a5e5e5c62b8048d62b0b
Signed-off-by: Tanya Dixit <tdixit@codeaurora.org>
2018-08-06 22:36:56 +05:30
Rohit kumar
759426ec4b ASoC: Add WCD937X slave and core driver
Add wcd937x swr slave and codec driver.
This adds only basic support for codec registration.

Change-Id: I87519a234f14d34a019c8f66652b7224759e639c
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
2018-08-06 20:53:13 +05:30
Linux Build Service Account
2e628184b9 Merge "asoc: bolero: Fix compile errors on rx/tx macro" 2018-08-02 23:45:43 -07:00
Linux Build Service Account
340b1f9238 Merge "asoc: codecs: delay codec irq handler during ssr" 2018-08-02 08:23:20 -07:00
Linux Build Service Account
c026f4c520 Merge "ASoC: codecs: Add IRQ utils support based on regmap" 2018-08-02 04:53:15 -07:00
Laxminath Kasam
b7f823c4d1 asoc: bolero: Fix compile errors on rx/tx macro
Fix compilation issue on bolero rx/tx macros.

Change-Id: I1bb9da552d4719ed3417a56fe77f147cab92dc1d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-02 13:23:11 +05:30
Vatsal Bucha
ec5eab5556 ASoC: codecs: Compile wcd irq as part of CONFIG_SND_SOC_WCD_IRQ
Add separate config for generic IRQ using regmap-irq and
compile it as a part of wcd_core ko.

Change-Id: I844ad72bf039c851a67d968e4b67c10105389932
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-08-01 11:04:49 -07:00
Linux Build Service Account
6891816204 Merge "asoc: codecs: Add compile rules for RX/TX macro modules" 2018-08-01 04:54:23 -07:00
Linux Build Service Account
9264698ee1 Merge "asoc: audio-ext-clk: Add support for multiple lpass clock sources" 2018-08-01 04:54:13 -07:00
Linux Build Service Account
057e0e85de Merge "asoc: qcs405: Add support for ep92 HDMI bridge chip" 2018-07-31 17:56:23 -07:00
Vatsal Bucha
485ec2c851 ASoC: codecs: Add IRQ utils support based on regmap
Add irq utils support for tanggu codec. It is
based on regmap-irq framework.

Change-Id: I93ad71f41a8bf62313bee5b6c374809c93219f5c
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-07-31 03:44:52 -07:00
Aditya Bavanari
7259ca6cfe asoc: audio-ext-clk: Add support for multiple lpass clock sources
In bolero, Rx and Tx macros require multiple
lpass clock sources. Update audio clock driver
to support multiple lpass clock instances as required for
Rx and Tx macros.

Change-Id: Ia7d766c52c8edb65f3ceb0585c6fd5a2fee6c5a6
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:23:59 +05:30
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
Laxminath Kasam
f8ef43ea45 asoc: codecs: Add compile rules for RX/TX macro modules
Add compile rules for RX and TX macro drivers.

Change-Id: Icede86ab2f1e75e3b10f445cf01e204647a48471
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-30 16:13:06 +05:30
Laxminath Kasam
bee0819ac7 asoc: bolero: Add mclk switching support for rx-macro
RX macro supports both native and non-native family
sample rates. Add changes to support both family frequencies.
As soundwire is active for few seconds after teardown of a session
and say next session is of different family(native) which needs switching
the clock at soundwire before configure native MCLK frequency.

Change-Id: I7f6652f1569cfeef5075d92bfd2beadc203b7036
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-30 16:12:44 +05:30
Laxminath Kasam
a7ecc58a35 asoc: bolero: Add support for RX macro driver
Add support for RX digital portion to register
as macro to bolero codec. ASoC dapm and dai
functionality of RX macro is associated to
bolero codec itself.

Change-Id: Idb924b33cfc5d258d2f876a31603e724ad9699e9
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-30 16:12:17 +05:30
Laxminath Kasam
989fccf875 asoc: bolero: Add support for TX macro driver
Add support for TX digital portion to register
as macro to bolero codec. ASoC dapm and dai
functionality of TX macro is associated to
bolero codec itself.

Change-Id: I1e222610d1750eccd6822d9901b17ec2ea509389
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-30 15:52:23 +05:30
Ralf Herz
5f30251f7e asoc: codecs: codec driver support for ep92 HDMI bridge
Codec driver to support Explore EP92A6 HDMI bridge chip.

Change-Id: I18132ee465180703a018a4e3c1f3d6418253410c
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2018-07-27 19:16:38 +05:30
Linux Build Service Account
b5e037bd5e Merge "asoc: codecs: Fix recovery behavior for CSRA66X0" 2018-07-26 21:56:25 -07:00