Commit graph

806 commits

Author SHA1 Message Date
Banajit Goswami
06183689db soc: add support for SND event framework
Add support for SND event framework for helping with
notifications among different audio modules/drivers.
The SND event framework functions with a master/client
mechanism, where each client and the master register
with the framework, and then notifies its own status
(UP/DOWN). Each master will share a list of clients it
is interested in, and once all the clients are registered
and notified UP, the framework's state will be UP. On the
other hand, as and when any one of the client, or the master
reports its state as DOWN while the framework is UP, the
framework state would be changed to DOWN, and all clients
and the master would be let know about the change.

Change-Id: Ief6f26c5d5626c29246472ad71c247d71ee9e92f
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-08-22 10:34:32 -07:00
Linux Build Service Account
711dbb3dca Merge "asoc: wcd-dsp-mgr: reinit ssr ready flag for adsp/wdsp ssr" 2018-08-21 11:07:29 -07:00
Linux Build Service Account
b9975a040e Merge "apr: fix race condition in apr reset" 2018-08-16 20:43:36 -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
Linux Build Service Account
4d83b35b1b Merge "dsp: fix total size in set ui property" 2018-08-14 22:43:49 -07:00
Vidyakumar Athota
0b9c8c186f apr: fix race condition in apr reset
Since apr reset is scheduled in a workqueue, it is possible that before
completion of previous session apr_deregister(), new session of apr_register()
can happen in ssr scenario. Some of the variables are not reset properly
due to this race condition. Fix this issue by failing apr_register() till
apr_deregister() is completed.

Change-Id: I203e356e8330d8633d78bbfc6ae0165afa79f1f3
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-08-14 14:42:25 -07:00
Linux Build Service Account
0c56067b68 Merge "asoc: Binrgup fixes for talos" 2018-08-12 05:58:33 -07:00
Linux Build Service Account
a7758b048b Merge "asoc: msm-pcm-routing: add tdm echo reference route" 2018-08-11 23:11:49 -07:00
Linux Build Service Account
0541c17a9b Merge "asoc: add machine driver for sa8155 based automotive platform" 2018-08-11 23:11:48 -07:00
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
b94000b1af Merge "asoc: swr: Add new parameters for swr port" 2018-08-10 13:24:08 -07:00
Linux Build Service Account
d7e53dd044 Merge "audio-kernel: Assign target name msmsteppe for sm6150" 2018-08-10 11:08:33 -07:00
Linux Build Service Account
76cf2831d9 Merge "soc: soundwire: Fix wsa mute issue for stereo playback" 2018-08-10 10:24:46 -07:00
Linux Build Service Account
505d896859 Merge "ASoC: wsa881x: Fix regcache sync issue during playback" 2018-08-10 10:24:45 -07:00
Ramprasad Katkam
ddb6e41cd4 audio-kernel: Assign target name msmsteppe for sm6150
Use msmsteppe target name instead of macro as macro
cannot be used in target rc file.

Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Change-Id: I0f3ec299b28b7dfd9f8ac9985eea0c22a4611f9e
2018-08-10 16:35:52 +05:30
Ramprasad Katkam
9e90df7393 asoc: swr: Add new parameters for swr port
Add wordlength and lanectrl parameters for swr port.

Change-Id: Id36a1b0750b7e8f13e4d1eed6a9abaddc2f39a83
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-10 16:11:08 +05:30
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
601e7e841e Merge "dsp: q6afe: Add check for DC detection registration" 2018-08-09 22:44:51 -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
Vikram Panduranga
99b0a75be7 dsp: fix total size in set ui property
Total size was incorrectly adjusted after determining
IID param size in SET_UI_PROPERTY. Fix total size with
correct APR packet and param sizes.

Change-Id: I5874b470811733e60b40cc240d4c0db995b30bac
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
2018-08-09 11:24:40 -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
03e70d806e Merge "ASOC: Add bolero compilation in makefile" 2018-08-09 02:06:15 -07:00
Linux Build Service Account
9ad057284b Merge "asoc: qcs405: Fix end to end playback on WSA" 2018-08-08 23:32:16 -07:00
Linux Build Service Account
c4b03a5490 Merge "asoc: add multimedia21 frontend and routing support" 2018-08-08 23:32:15 -07:00
Linux Build Service Account
6f046cdf21 Merge "ASoC: q6asm: use session lock to avoid use-after-free" 2018-08-08 23:32:14 -07:00
Linux Build Service Account
602e037449 Merge "asoc: enable MDF initialization in qcs405 target" 2018-08-08 23:32:09 -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
Ramprasad Katkam
858c45e8b8 ASOC: Add bolero compilation in makefile
Add bolero codec modules compilation in makefile.

Change-Id: I5a060de93a95b9b150303df025c03abcf4bddd65
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
2018-08-08 00:27:26 +05:30
Vignesh Kulothungan
0ffc608139 dsp: q6afe: Add check for DC detection registration
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>
2018-08-07 10:56:42 -07:00
Linux Build Service Account
b7d3f59c2a Merge "asoc: codecs: Tanggu TX RX changes" 2018-08-07 10:00:30 -07:00
Linux Build Service Account
b8bb217d36 Merge "Config: sm6150: Enable config for talos" 2018-08-07 10:00:29 -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
7c16441c93 Merge "Asoc: swr: Handle MBHC and IRQ interrupts from tx slave" 2018-08-07 08:53:13 -07:00
Linux Build Service Account
8bd5b4d074 Merge "ASoC: sm8150: change of_property_read_bool to type u32" 2018-08-07 06:18:46 -07:00
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
Linux Build Service Account
ed06521452 Merge "asoc: msm: update asm channel map for push pull mode" 2018-08-07 06:18:42 -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
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