提交線圖

28 次程式碼提交

作者 SHA1 備註 日期
Erin Yan
2f81be27d8 asoc: adapt channel mixer usage to tinymix
Tinymix set the array value of the mixer control one by one. The
channel number validation check here will cause failure in tinymix.
Allow 0 value here is fine because the parameters will be checked
before they are set at runtime.

Change-Id: I49c23f84aa081550434696dde96d2800e90390fb
Signed-off-by: Erin Yan <xinyey@codeaurora.org>
2019-06-16 17:47:03 -07:00
Vignesh Kulothungan
0c5f346bf7 asoc: fix silence data during concurrent capture
Remove static definition of size and index variables, which are
unique to each capture session. Static defintion of index variable
may incorrectly copy data from wrong memory offset. This might inject
silence/clutter in data copied to audio HAL.

CRs-Fixed: 2457887
Change-Id: I7b2f48d21545655ddaa13566ab4ea87a1cbd7424
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-05-29 09:58:13 -07:00
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
Dhananjay Kumar
f682acd01d asoc: update channels and channel maps usage in channel mixer
Update channel mixer controls to use active channel maps.
Update channel maps and channel mixer control to validate
channels and frontend ids being used.

Change-Id: Id5a8d9d0f262fbf64dcfeb67a8b2195fb0d126fa
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-04-30 08:52:56 -07:00
Haynes Mathew George
86eb0ce59c asoc: Expose mixer control to set noirq capture volume
NOIRQ platform driver registers volume controls for playback
with ALSA control module. Extend this for capture stream as well.

CRs-Fixed: 2222250
Change-Id: I04a3bfe0a8f44b5cb7b8f24d05cf6d72dabf1fd9
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2019-04-15 02:54:40 -07:00
Vignesh Kulothungan
764b2d2e8e asoc: pcm: modify component extraction
Component for channel map mixer control should be
extracted from pcm runtime instead of kcontrol's private data,
because kcontrol's private data in this case points to channel
map info.

CRs-Fixed: 2420279
Change-Id: Ibaeac4739b73a89d17f16cbacb1b5095d546968b
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-03-21 11:01:43 -07: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
Vignesh Kulothungan
0fcf2af3df asoc: dsp: ipc: Reduce wait timeout to 1 second
Reduce the amount of time driver waits to get a response from ADSP.
Current wait time in some cases is 5 secconds, which might cause
user space crashes in Android P. So reducing the timeout to
1 second.

CRs-Fixed: 2318751
Change-Id: I6b6789aa5b408659dd57f8f6b017df52d14b28aa
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-01-02 16:04:27 +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
Vatsal Bucha
2eb2e613df ASoC: Fix null pointer dereference for prtd pointer
Private data pointer may not be initialized before
access it in adsp_stream_cmd_put. NULL check for prtd
avoids the issue.

CRs-Fixed: 2250112
Change-Id: I0a033d7e867b183c329941b57b49232729191f1b
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-11-15 18:01:31 -08:00
Linux Build Service Account
0f70258551 Merge "msm: featurize support for 32channels from QDSP6" 2018-10-16 01:49:01 -07:00
Linux Build Service Account
1929529772 Merge "asoc: qcs405: Use changed clock for SPDIF interfaces" 2018-10-15 21:21:25 -07:00
Mangesh Kunchamwar
9f295c71fe msm: featurize support for 32channels from QDSP6
Add configuration flag to make use of 32channel support from
QDSP6.

Change-Id: I1e491b1ec870234140e914add4f177e5351b9953
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-12 13:12:29 +05:30
Dieter Luecking
70668fcb8d asoc: msm: Add support for 32 ch
PCM streams do now support up to 32 channels.
Extend Playback Channel Map mixer control to 32
channels. Use new DSP 32 channel API if DSP version
supports it. If not fall back to 8 channels API.

Change-Id: I74c4f91b0c9fab2a963690ba8143ebea36ad23dd
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 07:14:00 -07: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
Xiaojun Sang
f27e351051 ASoC: msm: remove unnecessary error log in audio kernel
PP event queue is not used by capture path. Initialize PP
event queue for playback path only to remove unnecessary log.
Change log level from error to debug when no matching afe
cal block is found.

Change-Id: Ibc323449f2fdc74cccd350ae30ac76d937898ffa
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-09-11 18:03:19 -07:00
Vikram Panduranga
c712c17ab0 dsp: Add support for custom encoder
Add support to set custom encoder in ASM which
can be enabled through compress capture path.

Change-Id: I563c59eb3a0213c26ce69d3c2f8d650cf3c7d32d
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
2018-06-05 12:57:23 -07:00
Xiaojun Sang
75642c362c ASoC: msm: check payload size before memory allocation
Buffer from mixer ctl or ADSP is composed of payload size and
actual payload. On a 32 bit platform, we could have an overflow
if payload size is below UINT_MAX while payload size + sizeof(struct)
is over UINT_MAX. Allocated memory size would be less than expected.
Check payload size against limit before memory allocation.

Change-Id: I0bf19ca7b8c93083177a21ad726122dc20f45551
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2018-04-02 22:00:23 +08:00
Meng Wang
ac147b705e ASoC: update snd_pcm_ops copy interface in platform drivers
snd_pcm_ops copy interface used by msm platform drivers is replaced
with copy_user in msm-4.14. Unit of two input variables is changed
from frame count to byte.
Update all the related msm platform drivers to adapt to this change.

Change-Id: Icecd0454c7a80e5ee90407c64aaf1ca76d2d9815
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-02-03 08:36:32 +08:00
Linux Build Service Account
18d2731639 Merge "msm: Array bounds check for buffer index" 2017-12-20 00:31:40 -08:00
Vignesh Kulothungan
3817b1847e msm: Array bounds check for buffer index
Check the ASM buffer index boundary before using it
to access the buffer to avoid out of array bounds error.

CRs-Fixed: 2145996
Change-Id: I5492941dfd9e7c3fa90af6caec14f9ff7e75d248
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2017-12-15 10:03:25 -08:00
Banajit Goswami
616e68cd4a asoc: vote for Glink Rx thread priority upgrade
For Low-latency audio playback usecase, vote for a priority
upgrade for Glink Rx thread, to avoid any performance issue.

Change-Id: I8332c80eedd7325700e695f341fc4b92f65fd77c
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2017-12-14 12:10:58 -08: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