Commit graph

3,312 commits

Author SHA1 Message Date
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
846ad08f10 soc: soundwire: Fix wsa mute issue for stereo playback
When stereo playback start and temperature read
initiated at same time, one of speaker PA bits are
not set in particular race scenario. Handle the
broadcast check in soundwire framework to ensure
broadcast is disabled only when respective gr_sid
slave calls swr_remove_from_group.

Change-Id: I6f82a8c3c0f39dc20c1def09c1728ce4c26c2f5d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-07 10:01:12 +05:30
Laxminath Kasam
3fda075378 soc: swr-wcd-ctrl: Fix wsa mute issue for stereo 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: I856b96517c629ac685bbc25caabee841037106c8
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-08-07 10:00:07 +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
Aditya Bavanari
0b26ab3e61 asoc: sm6150: Fix sampling rate enum mismatch
Fix set sampling rates for Rx Codec DMA interfaces.
Use uint32 instead of boolean properties for
audio interfaces and tavil codec enablement in
sm6150 target.

CRs-Fixed: 2281591
Change-Id: Id5cb212a8e319437c0efd02e9a900eedf63eae58
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-08-06 21:14:58 +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
Vatsal Bucha
9776f499e1 Config: sm6150: Enable config for talos
Enable irq, core and slave config for talos.

Change-Id: I97f702f2bbf6e6acc694bbd32ab3c357d3ae178c
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-08-06 08:14:06 -07:00
Aditya Bavanari
b2b9d42ce1 asoc: enable MDF initialization in qcs405 target
Enable MultiDSP framework (MDF) initialization during
qcs405 machine driver registration. Add MDF config
to enable compilation of MDF platform driver.

Change-Id: I227a0a7b3dd284dcf750c7b424b240f8c3cd1202
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-08-06 07:16:29 -07:00
Vatsal Bucha
6824cec26b Asoc: swr: Handle MBHC and IRQ interrupts from tx slave
Interrupts will be handled by slave driver. This
needs slave pointer to store virtual interrupt and
pass it as a parameter to handle_nested_irq.

Change-Id: I356102a04b4fda7e5863f809cd848d7a82b82f36
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-08-06 07:16:23 -07:00
Aditya Bavanari
542582cba2 dsp: support mdf memory share cmd
Add support for MultiDSP framework (MDF) memory
share command in q6core driver.

Change-Id: Iff0da10fe835f1fce50d2725960ded5c96237955
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-08-06 19:45:45 +05:30
Mangesh Kunchamwar
9c8f0f495f asoc: qcs405: Fix end to end playback on WSA
Fix set sampling rate for RX codec dma interface.

Change-Id: Id0e7719a3f6a6a815228f2327d4e11dd93722c07
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-08-03 15:46:04 +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
6baee220f0 Merge "asoc: Update mixer control for island mode setting" 2018-08-02 08:23:15 -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
Xiaojun Sang
fe99d5b2d1 ASoC: q6asm: use session lock to avoid use-after-free
It is possible that audio session free and param set happens
simultaneously. Audio client might be freed while param set
is doing wait_event_timeout.
Use session lock to make sure client_free happens after param set.

Change-Id: I0947c309c8e445fa2e220680e329d88bd5fe2418
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-08-02 17:38:17 +08: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
Surendar Karka
5628e8bc98 asoc: msm: update asm channel map for push pull mode
In noirq push pull mode channel map needs to be set during
ASM open shared io stream. Add support for no irq driver to
set channel map during ASM shared io stream open.

CRs-Fixed: 2267809
Change-Id: Ic1abfe60bb54b6529fbb4cf999e50196befaba46
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-08-02 13:05:05 +05:30
Derek Chen
39955471cd asoc: add machine driver for sa8155 based automotive platform
Add machine driver for SA8155 based automotive platform,
which is based on mobile machine driver with addition of
extended support for TDM interfaces which is used for data
transfer between SA8155 SoC and the automotive COODEC H/W.
Changes include TDM backend and refactored automotive
frontend DAI links as well as kcontrol functions to
configure TDM slot and offset configuration.

Add 815x machine driver init wrapper to allow registration
of multiple machine driver in single module init call.

CRs-fixed: 2268293
Change-Id: I30eb22a7c5d6b2d963a5ea621b5a00e8dbc27fed
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2018-08-01 21:54:59 -07:00
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
Linux Build Service Account
2cb347bab2 Merge "asoc: qcs405: Add support for AFE SPDIF interfaces" 2018-07-31 09:34:20 -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
Linux Build Service Account
1213456337 Merge "asoc: qcs405: Fix cpu dai node of VI sense dailink" 2018-07-30 23:59:54 -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
Aditya Bavanari
44eb89512e asoc: sm6150: Add machine driver support for SM6150
Add DAI(Digital Audio Interface) links, WSA, VA, Rx,
Tx macros and external codec (tavil) configuration
to support audio functionality on SM6150.

Change-Id: Ic4be86b3e675c80bd02a029fe92f3141824d5073
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:23:30 +05:30
Aditya Bavanari
e90adf0fe7 asoc: Add support for Rx and Tx codec dma interface
New codec dma interfaces have been introduced to
connect LPASS and Codec macros. Add playback
and capture DAIs for Rx and Tx codec.

CRs-Fixed: 2281591
Change-Id: I26ba49660d62accb96ea7b063e00b35917dfbdca
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:23:21 +05:30
Aditya Bavanari
348a4a6d2a dsp: afe: Add support for Rx and TX codec dma interface
New codec dma interfaces have been introduced to connect
LPASS and Codec macros. This change is to add Rx and Tx
codec dma interface related updates to Q6 AFE native driver.

CRs-Fixed: 2281591
Change-Id: I2edbe904cd4c13801f06cdd7bd226a82db5d6d51
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:22:48 +05:30
Aditya Bavanari
1e84a93ac4 asoc: msm: routing: Add support for Rx and Tx codec dma interfaces
New codec dma interfaces have been introduced to connect LPASS and
Codec macros. This change is to add support routing for RX and TX
codec dma interface backends and their corresponding front ends.

CRs-Fixed: 2281591
Change-Id: I625c66352c61176cd82b801e97e9d565919e2715
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:19:10 +05:30
Linux Build Service Account
a6fd4af36f Merge "asoc: bolero: Add support for RX macro driver" 2018-07-30 19:43:44 -07:00
Derek Chen
07c6d1cd5f asoc: add multimedia21 frontend and routing support
Add multimedia21 frontend dai as well as capture
and playback routing support from/to AUXPCM and
TDM interfaces.

CRs-fixed: 2273671
Change-Id: I5c1e3a2a549015636f7160c3cfc3f15420c9727c
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2018-07-30 14:12:29 -07:00
Mangesh Kunchamwar
07b8dc90a9 asoc: Update mixer control for island mode setting
Fix overwriting of port ID in island mode mixer control.

Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-07-30 23:17:12 +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
Mangesh Kunchamwar
2eabdc7309 asoc: dsp: add check for integer overflow
Add check for integer overflow of user
supplied data for ADSP stream command.

CRs-Fixed: 2173850
Change-Id: Idde5665c770398629b1b0cfa2c18d3c023b0f9a2
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-07-27 21:32:46 +05:30
Ralf Herz
6d96dd41d3 asoc: qcs405: Add support for ep92 HDMI bridge chip
Add support for ep92 HDMI bridge chip for QCS405 platform

Change-Id: Ifa8a6e60cee69c88276b50d5f61b3e13fac82b60
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2018-07-27 19:16:45 +05:30
Ralf Herz
ed30d2c223 asoc: config: Support for ep92 HDMI bridge device
Add config for ep92 device to be enabled in QCS405

Change-Id: I9f1529ff9917866986dd2ab81ac5ed9381592be0
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2018-07-27 19:16:45 +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
Laxminath Kasam
706e66e16e asoc: qcs405: Fix cpu dai node of VI sense dailink
In qcs405 machine driver, update cpu dai node name
to use same name as defined in dai q6 driver.

Change-Id: I21baf5445bb35c0cc8e030436cfd310c91168ea1
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2018-07-27 18:32:21 +05:30
Karthikeyan Mani
a1eb93864a asoc: msm-pcm-routing: add tdm echo reference route
Add route to connect echo reference mux to secondary
tdm port for tdm ec ref use cases.

Change-Id: I8ae7abadca6f19683d689299bc15c41e0e42472f
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-07-26 23:35:45 -07:00
Linux Build Service Account
b5e037bd5e Merge "asoc: codecs: Fix recovery behavior for CSRA66X0" 2018-07-26 21:56:25 -07:00
Linux Build Service Account
aceb532f6b Merge "ASoC: audio-ext-clk: Replace clock dummy ops" 2018-07-26 21:22:01 -07:00