Commit Graph

45 Commits

Author SHA1 Message Date
Meng Wang
688a867091 asoc: Update file header to GPL-2.0-only
Update file header to GPL-2.0-only.

Change-Id: If16bf92f951c6d7521f56a3e9b91da2ca2ccf6f8
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-01-29 13:43:33 +08:00
Dhananjay Kumar
defd81b1a5 dsp: 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: Ifedac25de5ae6bad1092b66ec405bba66a80f608
Signed-off-by: Cong Tang <congt@codeaurora.org>
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-01-21 20:58:22 -08:00
Linux Build Service Account
9cdd3ad6f9 Merge "asoc: dsp: ipc: Reduce wait timeout to 1 second" 2019-01-06 06:32:24 -08:00
Surendar Karka
de79a06acf dsp: update EC reference port only if channels are configured
ADM open is failed due to payload size not getting updated
with ec reference size. Update EC reference port only if
EC reference channels are configured.

Change-Id: Ic2dd6a3cf805c1ea40d71d0b62b6e867167d169e
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2019-01-02 17:23:23 +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
Linux Build Service Account
bed688a58c Merge "asoc: add support to get Direction of Arrival target scores" 2018-12-12 08:51:56 -08:00
Surendar Karka
e7507516c4 asoc: set AFE_LOOPBACK_TX port id to EC ref port
- AFE_LOOPBACK_TX BE is the dummy backend created to
  establish the EC reference capture path. While
  opening COPP pass playback port id instead of
  AFE_LOOPBACK_TX to get reference stream data from
  AFE RX port.
- Add session type support in creating new COPP and
  while checking for existing COPP.

CRs-Fixed: 2080421
Change-Id: I979f3ce1009cc18ff14130bebb8bd51a78fbe5ac
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-12-11 17:07:01 +08:00
Chaithanya Krishna Bacharaju
8c6a184189 dsp: add support to get Direction of Arrival target scores
Add support to get DOA tracking monitor data.
This is required to support SVA LED display feature with
FFECNS/FFNS enabled.

Change-Id: I7e39c2f3998fcc3f9ed0767c0090f862e1ba7539
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2018-12-11 00:02:27 -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
Linux Build Service Account
506d3c19c6 Merge "dsp: fix configuration of EC reference" 2018-11-22 20:08:56 -08:00
Dieter Luecking
4162083535 dsp: fix configuration of EC reference
The check open_v8.endpoint_id_2 != 0xFFFF can only
be true if changed after initializing open_v8.endpoint_id_2
to 0xFFFF. If not, EC reference will never be configured
correctly. Fixing code to account for that.

Change-Id: I8d2aba19ae1f60ace118c828a98d5fecb149be18
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
2018-11-21 09:12:30 +01:00
Linux Build Service Account
3b193e414d Merge "dsp: q6adm: fix boundary check for copp idx" 2018-11-20 19:53:13 -08:00
Meng Wang
d9fa69c9e7 ASoC: dsp: correct return value check
When the return value of adm_populate_channel_weight is 0, it should
keep running, not return error.

Change-Id: I447b81d6edfc89db6cb3742c1719e745c6071c12
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-11-16 12:23:30 -08:00
Karthikeyan Mani
95be5b145e dsp: q6adm: fix boundary check for copp idx
Check for maximum boundary limit for adm parameters
before using the parameter array.

Change-Id: Idf4961c547cd38e3525c255cca849e5e4280ac29
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-11-09 14:59:59 -08:00
kunleiz
c0cd19e0b6 dsp: adm: change channel number for SMECNS_V2 module
SMECNS_V2 module in COPreP topology doesn't support
stereo input. Update channel number to mono for
VPM_TX_VOICE_SMECNS_V2_COPP_TOPOLOGY, which contains
SMECNS_V2 module.

Change-Id: I04b971b41328f6a32bf0ff42b21496b49bb4140b
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
2018-10-22 20:03:58 -07:00
Linux Build Service Account
0f70258551 Merge "msm: featurize support for 32channels from QDSP6" 2018-10-16 01:49:01 -07:00
Dieter Luecking
27c5772723 dsp: Fix wrong payload size in adm_open command
Correcting payload length for adm_cmd_device_open_v8
usage if endpoint_id1 and endpoint_id2 are valid
and this_adm.num_ec_ref_rx_chans is 0.

Change-Id: I82815a2d885cdad5a9427c11eb73224289b158b3
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
2018-10-12 15:29:31 +02: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
50c5535991 dsp: Update ADM driver to support 32 ch
ADM supports now up to 32 channels. Extend the
ADM Channel map structures from 8 to 32
channels.

Change-Id: I87b3e4cce850af92467b139da9df67fcdafaf0b0
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-10-04 16:11:59 +02:00
Linux Build Service Account
6734209811 Merge "dsp: adm: Update module id for sound focus and source tracking" 2018-06-23 00:33:35 -07:00
Vignesh Kulothungan
6f75e7b369 dsp: adm: Update module id for sound focus and source tracking
Update module id used in get/set for sound focus and source tracking.

CRs-Fixed: 2262638
Change-Id: Ieb35c12b8f6ec8a5db6f699f70bf85ef29b29178
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-06-21 18:18:48 -07:00
Vignesh Kulothungan
aadecdf6c3 dsp: adm: Update get params packet size
Update apr header packet size in get pp params.
Add header field for the apr packet.
Update the check condition to differentiate between
in-band and out-band case in adm callback.

CRs-Fixed: 2262638
Change-Id: I57ef88e0638c09b203503f4c1cff2f810ef51c6e
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-06-21 18:02:47 -07:00
Linux Build Service Account
353ea8a466 Merge "ASoC: msm: qdsp6v2: Add dynamic chmix config support" 2018-06-20 21:13:49 -07:00
Linux Build Service Account
cfebfced54 Merge "dsp: q6adm: add ADM_LSM_AUDPROC_PERSISTENT cal type" 2018-06-19 22:04:16 -07:00
Bhalchandra Gajare
eed46bd521 ASoC: msm: qdsp6v2: Add dynamic chmix config support
Add support to dynamically configure channel mixing weightage
coefficients for both ASM and LSM sessions.
Currently the code is executed only for LSM session and can be
extended to ASM as well.

Change-Id: I727ea6fa2d3a99bbf6811005c5733535f680891b
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2018-06-19 18:45:52 -07:00
Bhalchandra Gajare
bbb641427b dsp: q6adm: add ADM_LSM_AUDPROC_PERSISTENT cal type
ADM supports certain modules that can have very large calibration sizes,
in such cases the calibration is expected to be persistent in memory.
Add new cal type for this purpose.

Change-Id: Ieb2e941036595b7dff4b8bfb341f2ec152cf648a
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2018-06-19 15:50:19 -07:00
Vidyakumar Athota
e427c419f5 dsp: fix return code check in adm driver
Return error only if apr_send_pkt() function
return code is less than 0.

Change-Id: I98903c6c275f360d32c3af523352071d92d1ef85
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-06-16 00:02:46 -07:00
Vignesh Kulothungan
2c6dccdf91 dsp: update parameter header type in ADM
Update parameter header type in ADM programmable channel
mixer function.

CRs-Fixed: 2209691
Change-Id: Iae0f5f832d14a111e1da75f85cf766d768b64a4b
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-04-03 11:18:32 -07:00
Linux Build Service Account
6438447c30 Merge "dsp: Mark cal block after use" 2018-03-21 04:07:39 -07:00
Vikram Panduranga
770b8383d2 dsp: Mark cal block after use
After applying calibration on DSP, cal block
is marked stale to ensure same calibration is not
reused for future usecase.

Change-Id: I9f446c0602f4ab34ca71b9d2611319624fb19cd2
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
2018-03-16 17:54:53 -07:00
Vidyakumar Athota
98464a25ea dsp: add export symbol for adm_param_enable_v2
Export symbol is added for adm_param_enable_v2 function
so that it can be used by other modules.

Change-Id: I373bb91c014a669b16d5e578eeaa82f9aae39332
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-03-15 20:39:37 -07:00
Vignesh Kulothungan
916967ba22 ASoC: dsp: Update dap driver to support Instance ID
Add support to set and get dap modules params with
Instance ID support for both Dolby and DS2.
Maintain support for non Instance ID set and get param
structures as well. Use common pack and set param
functions to set and get parameters to DSP instead of
handling them at an individual module level.

CRs-Fixed: 2151551
Change-Id: I1633b63a1a598c0e4ea874d00655b09a240a47e3
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:21:47 -08:00
Vignesh Kulothungan
60cc03517f ASoC: dsp: Update ADM driver to support Instance ID
Add support to set and get ADM module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.
Use common pack and set param functions to set and
get parameters to DSP instead of handling them at an
individual module level.

CRs-Fixed: 2151551
Change-Id: I5ef920448dd827d8a315e248087997f703061263
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:21:10 -08:00
Laxminath Kasam
30ad751aac ASoC: rmmod fixes for audio drivers
For remove module(rmmod), update drivers
to cleanup resources and allow insert module
again without any issue.

Change-Id: Iddc6e5e11d986359afd3100bf3c5eab70cb1c1eb
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
2018-03-01 16:02:06 +08:00
Linux Build Service Account
95e93157f4 Merge "dsp: update MSM Audio ION wrappers to align with upstream" 2018-02-15 17:52:20 -08:00
Banajit Goswami
08bb73698a dsp: update MSM Audio ION wrappers to align with upstream
Between Linux-4.9 and Linux-4.14, upstream has updated the
ION APIs significantly to make ION ready to bring out of
staging folder. This has changed the way ION and dma_buf
APIs used to work together for allocating, mapping and
deallocating ION buffers.
Update MSM Audio ION wrapper functions used by audio drivers
to reflect these ION API changes as per upstream ION.

Change-Id: I63097e147a397aa3a538f69ac88b6fb10871c3dc
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-02-04 03:41:06 -08:00
Aditya Bavanari
5106b5627c dsp: fix low volume in audio recording
ADM calibration is not sent in audio recording
use case which leads to low volume issue.
Since the LSM port ID is same as audio recording
port ID in case of internal codec, driver tries to
send LSM calibration for non LSM use case in which case
no calibration will be sent.
Instead of using port ID, use the pass_thr mode to
differentiate between LSM and non LSM use cases.

CRs-Fixed: 2167317
Change-Id: I1b6ea51d83330f6439791cf1bb6170306f6895b0
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-01-29 21:36:26 -08:00
Aditya Bavanari
6348e87415 dsp: export adm_set_lsm_port_id for platform
For audio modules DLKM support, export the ADM API
to external modules.

CRs-Fixed: 2160337
Change-Id: Ieaf88b2c1d99f5fc42a7a3f1900887702323f18b
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2017-12-18 13:20:54 +05:30
Linux Build Service Account
9c81253780 Merge "dsp: add support for new ADM LSM cal types" 2017-12-16 03:09:26 -08:00
Aditya Bavanari
2a627ae4bb dsp: add support for new ADM LSM cal types
Add support for new ADM LSM cal types in order
to avoid topology and cal block overriding during
concurrent use cases like SVA with speaker
protection.

CRs-Fixed: 2085865
Change-Id: I155d29ff0b77b069aa5970408332064c5c2aebd7
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2017-12-12 12:22:09 +05:30
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
8f7ccc2e6f audio-lnx: Add latest snapshot for audio drivers.
Propagate the changes based on latest snapshot
for audio kernel source tree at below cutoff of
kernel msm-4.9 -
(040750bfa78 -
 "Revert "ARM: dts: msm: Add DT node for aop-qmp
  clock controller on SDM845 v2"")

CRs-Fixed: 2104096
Change-Id: I0927c40b3a188dbf892e7ec4c1c7810953724929
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
2017-09-04 20:12:56 +05:30
Asish Bhattacharya
34504581a0 audio-lnx: Add snapshot of audio drivers from below commit.
(1996ec83a45: "ARM: dts: msm: Reduce CNOC bus voting for
        USB slave on SDM845")

This change is to migrate latest snapshot of kernel drivers.

Change-Id: I84669db544773d3ce9d2d5dff0ab6943bd7d8ff9
Signed-off-by: Asish Bhattacharya <asishb@codeaurora.org>
2017-08-18 16:56:12 -06:00
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