Gráfico de commits

60 Commits

Autor SHA1 Mensaje Fecha
Xiaojun Sang
dc9e8c2006 ASoC: enable dynamic FFECNS effect control
Add interface for userspace to control FFECNS effect.

Change-Id: I78010899e6c193726a79d74e86f13a1546106eff
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2019-07-09 15:43:04 +08:00
qctecmdr
9ad54a5373 Merge "dsp: Define channel map for 14channels" 2019-06-17 21:01:33 -07:00
Chaithanya Krishna Bacharaju
3dd8fdf8a5 dsp: Define channel map for 14channels
Define channel map for channel count 14 for adm and asm to
support capture usecases for this configuration.

Change-Id: Ieb43dafd05f88bf34fa512fd7268258163e9ac92
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-06-16 17:30:32 -07:00
Dhananjay Kumar
3d61b368d7 dsp: adm: add check for mfc channel count
Add check for mfc channel count before issuing mfc
media format command.

Change-Id: I0541d6651ecfcc90562ec0d9a632d039e34658cf
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-05-05 23:12:11 +05:30
Rohit kumar
2054b690a9 dsp: adm: Add support for port specific channel map
Add multi channel map support per afe port.

Change-Id: Ib032d1c81d918417f516131f11c500e4f6668b39
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2019-04-30 02:14:23 -07:00
Vignesh Kulothungan
4965b8d670 dsp: adm: modify adm callback payload size checks
Validate payload size before accessing data from ADSP.
Modify payload size checks to accommodate for variable
payloads, payload size vary from size of one integer to
many based on opcode and other variables.

CRs-Fixed: 2380694
Change-Id: Ic5e0eb72441da8f29cf645968c9df09e7803701a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-04-04 11:35:25 -07:00
Dhananjay Kumar
4303439281 dsp: add support to configure MFC in ec ref path
Add support to process ec at channel count other than the
playback channel count by providing ability to set downmixed
channel count and downmixing weights to be used to downmix
ec ref data obtained from playback path.
These configs would be used to explicitly configure MFC module
present in ec ref path, for usecases where ec processing cannot
be done at playback channel count due to algorithmic or resource
limitations.

Change-Id: Iaa80a0f0da3697c55751b2201578252d6466d3b5
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2019-03-12 22:04:58 -07:00
Ralf Herz
fb81b6e796 dsp: Add new channel ID to mark unused channel map slots
Allow to mark entries in a channel map as unused to prevent mixing other
channels in that slot.

Change-Id: I06f7de932dec4d30b2d6cfe04460d07ddad89049
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2019-03-04 21:21:01 -08:00
Linux Build Service Account
34b11a32b1 Merge "adm: undo echo reference rx value reset after open" 2019-03-04 11:44:13 -08:00
Linux Build Service Account
ddb358dfd7 Merge "dsp: adm: validate ADSP payload size before access" 2019-03-04 11:44:06 -08:00
Xiaojun Sang
f2f68463a7 adm: undo echo reference rx value reset after open
echo reference value reset after open leads to second SVA session
without echo. Undo the value reset.

Change-Id: Ie6ae357108beed0c8f034a3408c494475376e486
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
2019-02-28 17:11:20 +08:00
Linux Build Service Account
8c40496013 Merge "dsp: adm: change sample rate for FLUENCE_EF module" 2019-02-26 19:38:40 -08:00
Vignesh Kulothungan
3552462ec5 dsp: adm: validate ADSP payload size before access
Check the size of ADSP payload before accessing it.

CRs-Fixed: 2380694
Change-Id: Ib0c0f0bf6c7f7cf659df0eb70a3f66cee580cb66
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2019-02-26 19:05:27 -08:00
kunleiz
1529b55bb8 dsp: adm: change sample rate for FLUENCE_EF module
FLUENCE_EF module in COPreP topology doesn't support
44.1Khz sample rate. Set sample rate to 16Khz for
VPM_TX_DM_FLUENCE_EF_COPP_TOPOLOGY, which contains
FLUENCE_EF module.

Change-Id: I527da1a70cacba1014b2a706216172d12066b909
Signed-off-by: kunleiz <kunleiz@codeaurora.org>
2019-02-20 02:59:09 -08:00
Chaithanya Krishna Bacharaju
8b0abba9d7 dsp: Check ec ref rx port against AFE_PORT_INVALID
ec ref rx port is defined as integer and it is
set to 0xFFFF (AFE_PORT_INVALID) when ec controls are reset.
Due to this the current check against -1 (0xFFFFFFFF) in
adm open will always return true even after controls are reset.
This leads to adm open failures in case no ec ref channels are
set as part of record usecase. Avoid this by checking ec ref rx
port against AFE_PORT_INVALID.

Change-Id: I0d52bbe2a980d495933239315e6bba193a18567e
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2019-02-20 16:51:01 +08:00
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