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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Update config file and make rules for msmsteppe
compilation.
Change-Id: I374a0725a7dd36edc9e04652fb07dc719310565c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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>
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>
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>
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>
Fix overwriting of port ID in island mode mixer control.
Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
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>
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>
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>
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>
Add config for ep92 device to be enabled in QCS405
Change-Id: I9f1529ff9917866986dd2ab81ac5ed9381592be0
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
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>
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>