Add changes to recover audio during SSR and PDR
in swr master controller driver.
Change-Id: Ibe3ae097b5f9d59b135d861c5f50f6bbc1c05af6
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
For MCLK frequency switching to 11.2896 for native
playback support, frameshape also needs to be changed
accordingly. Add changes to support frameshape switch
based on mclk frequency for given master.
Change-Id: I0c4dd69b743f83b45eeed73f27ad10e878b9244b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Add capability to receive notifications from voice service
when there is a change in mic break status during a voice call.
On receiving notification, send an uevent with mic status to userspace.
CRs-Fixed: 2211324
Change-Id: Ie55bd1490fd8cead7261b70169ae36eba95e4011
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
ABR encoder config parameters should be sent to DSP
only when ABR is enabled. Do not send these parameters
for fixed bitrate.
Change-Id: Icf7e4feef65d01c8ae3f6c6123d490cadef46c97
Signed-off-by: Aniket Kumar Lata <alata@codeaurora.org>
Add support for soundwire wakeup irq registration and event
notification from afe.
Change-Id: I97abe0a8bb571b997a52f90e0a0f57a26c714251
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Add support for blocking call events in event notifier
to support functions which require waiting for events.
Change-Id: I255c19bc956506ea5076bb5fb1f09327141611a6
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
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>
Add support for SND event framework for helping with
notifications among different audio modules/drivers.
The SND event framework functions with a master/client
mechanism, where each client and the master register
with the framework, and then notifies its own status
(UP/DOWN). Each master will share a list of clients it
is interested in, and once all the clients are registered
and notified UP, the framework's state will be UP. On the
other hand, as and when any one of the client, or the master
reports its state as DOWN while the framework is UP, the
framework state would be changed to DOWN, and all clients
and the master would be let know about the change.
Change-Id: Ief6f26c5d5626c29246472ad71c247d71ee9e92f
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Add wcd937x swr slave and codec driver.
This adds only basic support for codec registration.
Change-Id: I87519a234f14d34a019c8f66652b7224759e639c
Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
Interrupts will be handled by slave driver. This
needs slave pointer to store virtual interrupt and
pass it as a parameter to handle_nested_irq.
Change-Id: I356102a04b4fda7e5863f809cd848d7a82b82f36
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
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>
Add irq utils support for tanggu codec. It is
based on regmap-irq framework.
Change-Id: I93ad71f41a8bf62313bee5b6c374809c93219f5c
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
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>
Fix overwriting of port ID in island mode mixer control.
Change-Id: Ibf650e94519ffde7655e14a88ccc9042b3a3544b
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
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>
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>
Add kernel symlink creation $(KERNEL_USR) as make-style
dependency. The LOCAL_ADDITIONAL_DEPENDENCIES flag in
place is not active for the generated-source mechanism.
Change-Id: I9b93679bf73cf28c244119ec34a440775579b18a
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>
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>
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>
Enhance APIs to get instance id and stage info from userspace,
required for multi-stage Voice Activation in ADSP.
Change-Id: I82703c63214925173f3f978339188ccddff8ba91
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
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>
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>
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>
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>
New cal type ADM_LSM_AUDPROC_PERSISTENT is added to enable
the larger calibration sizes for ADM that need to be kept
persistent in memory.
Change-Id: Ie23f52d6aad45dc1133a4a6fa692c1331b93d3e8
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
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>
Listen v3.0 adds new algorithm and multichannel support. The
input and output of LSM could have different media format,
especially number of channels. Add required support to obtain
input hardware params from userspace. Existing pcm_hw_params
operations will be used to obtain the lsm output hw params.
Change-Id: I3feca50b4b13ece59ceb39787199e2cec17b3cae
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
soundwire bus driver changes to support new soundwire
master driver for Talos/vipertooth.
Change-Id: I70e52a72edd80abc72ccb99b29b1a642debec257
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
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>
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>
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>
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>