Update SBC sample frequency and number of channels
from IPC library to set AFE port accordingly.
Change-Id: Ibca385b0fc0ba4c3122053559b1116bd4c31336d
Signed-off-by: Florian Pfister <fpfister@codeaurora.org>
Some USB headsets take more than 1 second to respond
for afe port start command so increase the timeout value
to support playback on slow responsive USB headsets.
Change-Id: I76c43bafe3c9e1e2d8a4a23059053db6bfc0188b
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
Add different media format support in AFE decoder.
Change-Id: Icdc3884882c34236f5ab02355dfbabdd2a1becd2
Signed-off-by: Florian Pfister <fpfister@codeaurora.org>
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
Lock sequence for afe_alloc_cal does not comply with others. To
avoid deadlock, move afe_cmd_lock to the top caller in AFE.
Change-Id: I4ce03034c642c8b5e7e9e5e2ff4c73644980484b
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
Send sample rate for port media type from APTX AD
config before AFE port start.
Change-Id: I3410428661ad4162539f437bb391c33a60ea1852
Signed-off-by: Aniket Kumar Lata <alata@codeaurora.org>
Send VAD configuration during TDM port start.
Change-Id: I30b45b066b2ca5fdf49cd74d87d95f75566661c9
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Remove the detailed format information from each format change event as
sysfs interface is used now.
Change-Id: I6abd221e87b18c1f0e84e62db8076b8198e8ad24
Signed-off-by: Ralf Herz <rherz@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
AFE supports now MI2S interfaces with up to 16 channels.
Add new APR API functions to support this.
Add support for senary PCM/MI2S ports.
Change-Id: I18d48eed4e9a0476363220e959a0f254aa292056
Signed-off-by: Dieter Luecking <dieterl@codeaurora.org>
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
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>
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 LSM mixer and function related routing changes
for TX_CDC_DMA_TX_3 interface to support SVA.
CRs-Fixed: 2281591
Change-Id: I9ff7e9d51069ec0467c464ddb5c640e533e81d90
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add hostless nodes for RX_CDC_DMA_RX_0 and TX_CDC_DMA_TX_3
interfaces to support HFP/FM use cases.
Add missing port-ids in afe driver.
CRs-Fixed: 2281591
Change-Id: I634a6970b7c47320120cb850ad94bd69376ac181
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Check if speaker protection is enabled before registering for
DC detection events.
CRs-Fixed: 2244131
Change-Id: If2f9f777534ee5fe9024ba1080d0b73d3f750159
Signed-off-by: Vignesh Kulothungan <vigneshk@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>
Payload is copied incorrectly in AFE module event callback.
Fix this issue with proper typecast of payload pointer.
Change-Id: I58642a054667912bcc01ae19c8c73d28c28b5589
Signed-off-by: Vidyakumar Athota <vathota@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 AFE HW CAL dep node in config and fix the set sampling rate
for codec dma interface
Change-Id: I9165a80da00bfb5b61bbf4f0391ff794d8fba352
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add codec dma port indices in get port index function.
CRs-Fixed: 2248380
Change-Id: I62fcf502ce997e1537c0ea47dd0292612cb297ad
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
AFE ports have been identified as RX or TX based
on a certain rule. Add an exception for VOICE_RECORD_TX
port from this rule.
Change-Id: I8a2fa4b6053baaf7747493aa385da887e6dd170c
Signed-off-by: Vikram Panduranga <vpandura@codeaurora.org>
afe_callback indirectly calls q6core_send_uevent which might
sleep due to use of mutex. Move this send uevent function call
to work queue to prevent the issue.
Change-Id: I74ad151a9bae84860059d0a11042cda6475394c2
Signed-off-by: Xiaoyu Ye <benyxy@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 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>
On receiving DC detection notification, send an uevent to notify
the userspace.
CRs-Fixed: 2244131
Change-Id: I42b0bb2287d7f1edf5e7c344302a7ea97408ab13
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>
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>
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>
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>
LPASS set clock time command times out because afe callback
was waking up the incorrect wait queue. Use the appropriate
index instead of the global index for wake up.
CRs-Fixed: 2151551
Change-Id: I2d4f4c477913a9513ffae2992ecf777f7a3ed60d
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
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>
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>
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>