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>
Check if speaker protection is enabled before registering for
DC detection events.
CRs-Fixed: 2244131
Change-Id: If2f9f777534ee5fe9024ba1080d0b73d3f750159
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
On bolero and tanggu combination, enable digital side
class-H by default.
Change-Id: I366a7217dbbe7640846275eea57ef0c61cfcdf5e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
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 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>