Commit Graph

21 Commits

Author SHA1 Message Date
Guodong Hu
88dba174c9 asoc: avoid adding global control in loopback probing twice
Add condition control to avoid mixer being added twice,
to avoid kernel error printing.

Change-Id: I832e4c08ac06fe885c1497bce4bd4ada96ef83fb
Signed-off-by: Guodong Hu <guodhu@codeaurora.org>
2020-10-19 15:12:21 +08:00
Derek Chen
b7bf0563f0 ASoC: msm: PP event handling support for loopback driver
Adding mixer controls for supporting PP evnets in
loopback driver.

Change-Id: Iea9de0f8a7b5661c62953d23879f798af9819487
Signed-off-by: Derek Chen <chenche@codeaurora.org>
2020-08-11 13:17:17 -07:00
qctecmdr
6720f1b670 Merge "ASoC: msm: Support different POPPs to single COPP" 2020-07-17 22:40:14 -07:00
Viraja Kommaraju
5fdef1b590 ASoC: msm: Support different POPPs to single COPP
For multi COPP feature it could only allow POPPs with same app_type
to connect single COPP. But it's possible to connect different POPPs
with different app_type to single COPP, to achieve this, it should
skip the app_type check when create copp_idx.

Change-Id: I9da6e84b8ef4a5e13d29d71c016b114ea759b94f
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2020-07-15 01:33:26 +05:30
Prasad Kumpatla
ef02f940ae asoc: Add check for substream ref_count before access the substream.
Add check for substream ref count before access the substream.

Change-Id: Iccb6226519e8fddf624f82160a0d8d22641944db
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2020-07-03 00:58:19 -07:00
Laxminath Kasam
748a29b92c asoc: Add null check for kctl private_data in volume controls
In platform driver volume controls, add null check
for kctl private data before access.

CRs-Fixed: 2611397
Change-Id: I49bdac2bb780a7116e54c20bf5f0d01f13a53165
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2020-04-29 23:27:49 -07:00
Guodong Hu
b36d8ca714 asoc: fix prepare error in pulseaudio loopback cases
In pulseaudio, prepare comes just after open for every
substream in loopback cases, but the 'audio_client'
is not allocated for the first substream in every pcm.
And the returned error causes the failure of pulseaudio
initialization for all loopback cases.

Change-Id: I7fb6c1f23b9cf2660e4dd519a731c7e13a809a4a
Signed-off-by: Guodong Hu <guodhu@codeaurora.org>
2020-04-23 20:36:30 -07:00
Deru Wang
9cfc1926ef asoc: fix kernel panic due to Non-NULL ac
set pcm->audio_client NULL when open pcm failed and
add NULL pointer check.

Change-Id: I5a293e09449d3b616761bbd66326274849ce2f58
Signed-off-by: Deru Wang <deruwang@codeaurora.org>
2020-03-29 10:37:44 -07:00
Vignesh Kulothungan
823f0f01fe ASoC: add config check for QGKI
Add CONFIG_AUDIO_QGKI check for variables and functions
in audio drivers, so they are used only during a QGKI build.

Change-Id: Ia04232566367f196f298a49cf3962bb7927bec6a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2020-01-26 03:51:32 +05:30
Prasad Kumpatla
2ef0c88aec asoc: msm-pcm: Add mutex lock to protect prvt data
Add mutex lock to protect private data in _put() and
_get() calls

Change-Id: I92f5a6515b6d1c4ad650a7dcf22a0a231a84dd30
Signed-off-by: Prasad Kumpatla <nkumpat@codeaurora.org>
2019-10-14 12:38:58 -07:00
Cong Tang
d083a83b6e ASoC: msm: Loopback Driver Reg Stream in Prepare Stage
Move the msm_pcm_routing_reg_phy_stream() to prepare stage.
Then it allows to set channel mixer configuration pre usecase start.

Change-Id: I1811c4d9bcbdd2bb1ee425044407a2c61e794a9a
Signed-off-by: Cong Tang <congt@codeaurora.org>
Signed-off-by: Viraja Kommaraju <virajak@codeaurora.org>
2019-09-03 14:50:22 +05:30
Xiaojun Sang
53cd13a1ab ASoC: hide bind/unbind in sysfs
Exposure of driver bind/unbind to userspace via sysfs may
lead to unexpected behavior.
Hide bind and unbind by driver attribute.

Change-Id: I20d6ee653bcc16af15d6368664aaf240c6645cd0
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2019-05-17 15:00:33 +08:00
Rohit kumar
2a64e52662 dsp: asm: Add check for num_channels before calling q6asm_map_channels
Channel_mapping array size varies for different commands.
Add check for num_channels before calling q6asm_map_channels.

Change-Id: Iccbcfe82f716fc0ffe0a26b1779dcaa1c3cb805b
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
2019-03-11 05:39:41 -07:00
Dhananjay Kumar
807f7e9521 asoc: add support to set custom channel mixer coefficients
Enhance Channel Mixer control for MultiMedia Frontends to
get custom channel mixer coefficients from userspace and
use it during device routings to control stream to device
channel mappings.

Change-Id: Icf950377dede46b097c8656174af5eb311bf719a
Signed-off-by: Cong Tang <congt@codeaurora.org>
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-02-28 08:57:51 +08:00
Meng Wang
43bbb87652 asoc: Update file header to GPL-2.0-only
Update file header to GPL-2.0-only.

Change-Id: Ic1542a3209a5fe73c937a5b36491ede4a451936d
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-10 14:49:34 +08:00
Meng Wang
ee084a068e ASoC: Change platform driver to component driver
snd_soc_platform_driver is removed in kernel-4.19.
Update snd_soc_platform_driver to snd_soc_component_driver.

Change-Id: I434b6fd173d1f4365a610d9164342d5d04d6c5bc
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-08 03:15:41 -08:00
Meng Wang
61af6849e9 ASoC: switch audio drivers to SPDX identifier
Switch audio drivers to SPDX identifier on msm-4.19.

Change-Id: Ic3f0230a516db251b8d81e8a7e73dbc04d66fe1b
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2018-12-07 15:47:32 +08:00
Vignesh Kulothungan
2ce6784865 asoc: update log level to avoid execessive logging
Excessive logging causes throttling during bootup.
Update log level from error to debug in get functions to
avoid excessive logging.

CRs-Fixed: 2321589
Change-Id: If2a23144adf76cdd9bb2d9048a967b63186d7f6e
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-09-27 09:56:25 -07:00
Asish Bhattacharya
5faacb3a7e ASoC: allow drivers to compile both static and dynamic
Based on where the code is synced the driver should allow
both static and dynamic linked compilation.
Also remove __exit for modules loaded from another common
init/exit functions.

Change-Id: Ib58f152002aba3af4446f9bbd9b82c279212bd0a
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2017-12-07 19:57:27 +05:30
Laxminath Kasam
8b1366a648 Audio: DLKM support for all audio modules
Switch to DLKM for all audio kernel modules.

Change-Id: I6a96023a21f655f873531af9ace81f2b01eb0f58
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-11-02 13:42:09 +05:30
Laxminath Kasam
605b42f92c audio-lnx: Rename folders to new flat structure.
Kernel audio drivers can be categorised into below folders.
asoc - ALSA based drivers,
asoc/codecs - codec drivers,
ipc - APR IPC communication drivers,
dsp - DSP low level drivers/Audio ION/ADSP Loader,
dsp/codecs - Native encoders and decoders,
soc - SoC based drivers(pinctrl/regmap/soundwire)

Restructure drivers to above folder format.
Include directories also follow above format.

Change-Id: I8fa0857baaacd47db126fb5c1f1f5ed7e886dbc0
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-08-18 16:56:12 -06:00