Commit Graph

70 Commits

Author SHA1 Message Date
Vatsal Bucha
e003f502de dsp: Add macro for packed 16B format
CDC DMA TX uses PACKED_16B format if speaker prot
is enabled. Add macro AFE_LINEAR_PCM_DATA_PACKED_16BIT
for proper value of format.

Change-Id: I1070e00d26a18c77e26ff2518ef4a1256a674e20
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
2018-08-31 12:38:57 +05:30
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
ed06521452 Merge "asoc: msm: update asm channel map for push pull mode" 2018-08-07 06:18:42 -07:00
Aditya Bavanari
542582cba2 dsp: support mdf memory share cmd
Add support for MultiDSP framework (MDF) memory
share command in q6core driver.

Change-Id: Iff0da10fe835f1fce50d2725960ded5c96237955
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-08-06 19:45:45 +05:30
Linux Build Service Account
6baee220f0 Merge "asoc: Update mixer control for island mode setting" 2018-08-02 08:23:15 -07:00
Surendar Karka
5628e8bc98 asoc: msm: update asm channel map for push pull mode
In noirq push pull mode channel map needs to be set during
ASM open shared io stream. Add support for no irq driver to
set channel map during ASM shared io stream open.

CRs-Fixed: 2267809
Change-Id: Ic1abfe60bb54b6529fbb4cf999e50196befaba46
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
2018-08-02 13:05:05 +05:30
Aditya Bavanari
348a4a6d2a dsp: afe: Add support for Rx and TX codec dma interface
New codec dma interfaces have been introduced to connect
LPASS and Codec macros. This change is to add Rx and Tx
codec dma interface related updates to Q6 AFE native driver.

CRs-Fixed: 2281591
Change-Id: I2edbe904cd4c13801f06cdd7bd226a82db5d6d51
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2018-07-31 11:22:48 +05:30
Mangesh Kunchamwar
07b8dc90a9 asoc: Update mixer control for island mode setting
Fix overwriting of port ID in island mode mixer control.

Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-07-30 23:17:12 +05:30
Ralf Herz
cc29b9e839 dsp: support for AFE SPDIF input interface
Support two SPDIF input and two SPDIF output interfaces in AFE.
Support 61937 compressed capture.

Change-Id: Ie71434eb53be798567a6240e0f4bf171aee305b8
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
2018-07-25 21:35:33 +05:30
Sharad Sangle
82777e54d5 asoc: dsp: add support for aptX adaptive
Add support for new A2DP profile aptX adaptive.
This is just like any other A2DP profiles.

CRs-fixed: 2272343
Change-Id: I219dec038e84b7b98ebb2d5233ddf576c8bbe70a
Signed-off-by: Sharad Sangle <assangle@codeaurora.org>
2018-07-12 22:26:40 -07:00
Banajit Goswami
f1f4a2982f include: dsp: avoid returning error code from stubbed function
If MSM_QDSP6_NOTIFIER is not enabled for a target, audio_notifier
feature will not be available for that target. Whenever a call is
made to audio_notifier when its not supported, returning error from
stubbed function may confuse the error with real failure (even though
the feature is not enabled on the target). Avoid returning error code
from stubbed function, when feature is disabled.

Change-Id: I37eb2e25e45b25948aff55f2a231195a22b16f05
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-07-05 11:09:56 -07:00
Linux Build Service Account
ec7e65b420 Merge "dsp: preload voice and copp topologies" 2018-07-01 10:20:31 -07:00
Vikram Panduranga
6e55ad86b2 dsp: preload voice and copp topologies
Set topology info to q6core service in ADSP so that the
modules in a topology can be loaded before the usecase starts,
thus reducing usecase setup latency. The same topology is
unloaded before vocproc or copp is destroyed or replaced.

Change-Id: I5f8872130fb09f049e080c61edb8bb0b05e5e2de
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
2018-06-28 11:05:25 -07:00
Dhananjay Kumar
ce6ec5fcf2 lsm: add support for ADSP multi stage VA
Enhance APIs to get instance id and stage info from userspace,
required for multi-stage Voice Activation in ADSP.

Change-Id: Ie39a3d002a56fb8df0c241089a50d55ef700a538
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
2018-06-27 23:39:17 +05:30
Linux Build Service Account
625fa8af6a Merge "dsp: q6afe: Add support to control AANC noise level" 2018-06-26 10:45:10 -07:00
Sudheer Papothi
af431ad7c9 dsp: q6afe: Add support to control AANC noise level
Existing software supports only high AANC level with minimum noise.
Requirement is to support different noise levels when AANC is
enabled for better AANC effect.

Change-Id: I343d00473937f68eb86533e88b25083d554b79b1
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2018-06-23 01:53:02 +05:30
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
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
Bhalchandra Gajare
6ee5b50fd4 msm-lsm-client: decouple input and output hardware parameters
With multichannel voice activation support in LSM, it could be possible
that the input media format/hw_params to LSM would be different than
the output media format/hw_params. This change decouples the input
and output hw_params for LSM. The output hw_params are obtained through
ALSA pcm_hw_params operation, whereas the input hw_params are obtained
though the LSM_SET_INPUT_HW_PARAMS ioctl to LSM.

At the same time, the below parameter IDs are added to send the channel
information to LSM service:
	- LSM_PARAM_ID_MEDIA_FMT_V2
	- LSM_PARAM_ID_LAB_OUTPUT_CHANNEL_CONFIG

Change-Id: Ie53a087b0ec54e83c4eba93a0828f9bdd6cc147d
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
2018-06-19 15:10:18 -07:00
Mangesh Kunchamwar
4e1e71885e dsp: afe: Add support for VAD in AFE native driver
Update to AFE native driver to send VAD calibration
to DSP. Add support for per service API version query
in q6core driver.

Change-Id: I6234879054e7b5622a40912da16072fd8dbd83fe
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-06-12 19:18:35 +05:30
Mangesh Kunchamwar
8c706aba34 dsp: afe: Add support for codec dma interface
New codec dma interfaces have been introduced to connect LPASS and
Codec macros. This change is to add codec dma interface related
updates to Q6 AFE native driver.

Change-Id: Ia3d1e5e80c694c8c4a7f904151adfcb504964b08
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
2018-06-10 22:46:57 -07:00
Vignesh Kulothungan
cf6a1215b9 dsp: add support to send uevents
Add a common function handle to send uevents from q6 layer.
Add functions to initialize and cleanup the kernel object required
to send uevents.

CRs-Fixed: 2211324
Change-Id: I9dceb4eb16d6941600455602f78f4f1498171d19
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-06-07 09:01:13 -07:00
Vidyakumar Athota
94bd8731ae dsp: add support for DC detection event in afe
Add support to register with ADSP for DC detection event
in speaker protection module.
Add support to notify audio driver clients when DC detection occurs.

CRs-Fixed: 2244131
Change-Id: Ieb467f62207546a785eac2e9b96ca677e0b10565
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-06-07 08:53:00 -07:00
Linux Build Service Account
4cc52a2bed Merge "dsp: add audio event notifier support" into audio-drivers.lnx.3.0 2018-06-06 21:05:04 -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
Vidyakumar Athota
f1cba4d4b2 dsp: add audio event notifier support
Add support for audio event notifier framework to
send/receive events across audio drivers.

CRs-Fixed: 2244131
Change-Id: I1e36703a91625cd52333596d66dc21a0e8876738
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-06-01 16:09:22 -07:00
Garmond Leung
6b3f418d7e dsp: Add support for setting USB packet service interval
Add support for setting packet service interval for usb
AFE Port.

Change-Id: I2221c659f967deaccb9031a9a61b51fd475a0e22
2018-05-31 17:56:21 -07:00
Xiaoyu Ye
f0ec686d3b asoc: msm-lsm-client: add support for ADSP Generic Detection Event
ADSP detection engine module can raise Generic Detection Event to
provide variable payload data based on the information requested by
userspace. Adding new API/interface to provide support for Generic
Detection Event in LSM drivers.

Change-Id: Id5541f959ecdcf862dcfa1de1c1a1b3a796f260c
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
2018-05-22 23:36:37 -07:00
Karthikeyan Mani
16b697200c dsp: afe: add interface to update dp audio stream index
For DP audio Multi Stream Transport, add an interface
to set DP controller and DP stream index for display
port audio AFE port.

Change-Id: I6efbb6937a7849e5840a93541961414eb9049863
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
2018-05-10 13:43:23 -07:00
Linux Build Service Account
40bf8e8940 Merge "asoc: dsp: Add support for adaptive bitrate" 2018-05-01 13:18:05 -07:00
Vidyakumar Athota
ddd20a414f uapi: audio: update maximum number of channels supported
Audio calibration data supports 32 channels now so update
maximum number of channels supported to 32.

Change-Id: I0b94e23fe88c4382d78db85014a81e440f720660
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
2018-04-29 19:30:03 -07:00
Aniket Kumar Lata
c0c314765f asoc: dsp: Add support for adaptive bitrate
Add support for adaptive bitrate with A2DP offload.
Set up Tx feedback path on SLIMBUS_7_TX from BT SoC
to LPASS. Configure AFE encoder and decoder for ABR.
Add bit width support to configure AFE port with
32bit for BT A2DP.

Change-Id: I8e0afaf52561e5dc70318240ba238fc42844501f
Signed-off-by: Aniket Kumar Lata <alata@codeaurora.org>
2018-04-29 15:59:32 -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
Vignesh Kulothungan
fa497d2051 ASoC: dsp: Update audio effects driver to support Instance ID
Add support to set and get audio effects 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: I0fdba2560950c931a2ec6f152499fd4bb9f59086
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:22:34 -08:00
Vignesh Kulothungan
f20d5b7ea5 ASoC: dsp: Update ASM driver to support Instance ID
Add support to set and get ASM 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: I633ce10a83d9033d42fadb7bad0b26842459df84
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:22:19 -08: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
Vignesh Kulothungan
1ccc875287 ASoC: dsp: Update rtac driver to support Instance ID
Add support to set and get rtac 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: Ic96e83477e72dc5ffa4d87a1e98c34814bbd0b8d
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:07:03 -08:00
Vignesh Kulothungan
85073c0432 ASoC: dsp: Update AFE driver to support Instance ID
Add support to set and get AFE 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: I15dac800bdf7f860d0fbeeff86f986c42a9eae34
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-04 23:06:32 -08:00
Vignesh Kulothungan
cc3ff17850 ASoC: dsp: Update voice driver to support Instance ID
Add support to set and get voice 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: I045e27710d69304f234ace1ff6c80afdd4a4041c
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-03 15:16:04 -08:00
Vignesh Kulothungan
a65e3010a2 ASoC: dsp: Update LSM driver to support Instance ID
Add support to set and get LSM module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.

CRs-Fixed: 2151551
Change-Id: Id9aa5ee89bab1a4e15ff1f7868bceb42d6c25d19
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-03 15:14:56 -08:00
Vignesh Kulothungan
13d0d3561f ASoC: dsp: Add utility function needed for Instance ID
Add common structures and definitions used to support
instance ID.
Add helper function to populate header based on instance ID
support and pack it with payload data.

CRs-Fixed: 2151551
Change-Id: If9b7e497d0e8fdfed7d62a1ee34c415baabdda07
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-03 15:14:32 -08:00
Vignesh Kulothungan
5c10992ad9 ASoC: Expose APIs to get and set Instance ID support
Expose APIs to get and set instance ID support by exposing a
mixer control for userspace to set the support status as well
as APIs for kernel components to querry for instance ID support.

CRs-Fixed: 2151551
Change-Id: I3b462a4c0f31152a2865af8f4e9664a6c4d324c3
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
2018-03-03 15:14:11 -08:00
Linux Build Service Account
ec22137f6c Merge "dsp: add cache operations for dma_buf" 2018-02-15 17:52:20 -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
0f1f3f6d04 dsp: add cache operations for dma_buf
Add support for querying ION flags for dma_buf and for cache ops
on dma_buf with CACHED Flag on.

Change-Id: I219e564c477af8ba3b8676db1c9555a2b5b9ebab
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
2018-02-04 03:43:17 -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
Linux Build Service Account
9c81253780 Merge "dsp: add support for new ADM LSM cal types" 2017-12-16 03:09:26 -08:00