-> If enumeration is changed runtime, dev_num gets changed
-> so it might result in different dev_num for same device
-> between swrm_connect_port and swr_disconnect_port while powering
up and down of widget
-> This results in not emptying the port_req list, hence swrm not
going to suspend state
-> This results into adsp not going to sleep state
Change-Id: I80326a35f0cac7f7be30cbbee119a8ba247a0f76
Race condition observed while processing the
get/set_pp_params and adm_close command.
Synchronise adm open, close and get/set_pp_params
by sending the apr cmd pkt using the same lock.
Change-Id: I9a1ebcedc91f78f3940846688f8569ec9088e1e7
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
Enable compilation for msm8937_32go, 8953, sdm439, sdm429 targets.
Bring in msm8952 machine driver and SDM450 auto configs.
Update asoc, codec driver to component driver to align
with kernel-4.19 ALSA.
Change-Id: I95a6ee3dbb3b9d3b89cc6961346baf1efb3cb9c8
Signed-off-by: Subhadra Jagadeesan <subhja@codeaurora.org>
Add support to update clk src array from machine driver.
Update clk src for different be ids based on clock
frequency at playback.
Change-Id: Ifa09d556fd50f9e2ddef39b5e3ddd25f579f8f6e
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
To handle erroneous sequence when HLOS audio driver registers
a FFNS topology in non-island mode instead of island mode:
Call afe topology deregister to deregister any previously
created topology before registering the topology.
Change-Id: Iff871da998847ea5d3bcee417c780b8acaf70ca3
Signed-off-by: Sanjana B <sanjb@codeaurora.org>
Add mixer control and callback for selecting external mclk at start of
next playback for a particular BE.
Change-Id: Ifc25eda2f14da564c6b066eb8f76049697bbd44e
Signed-off-by: Nirav Khatri <khatri@codeaurora.org>
As per the current design in afe, if the
afe_get_cal_topology for AFE_TOPOLOGY_CAL
or send_afe_cal_type for AFE_COMMON_TX_CAL
fails, then the voice UI calblock is fetched/sent.
This is resulting in sending voice UI calblock
on a non voice UI port during concurrent usecase scenario.
Fix is to check if the calblock for get/set is for
a voice UI port or not. Added support to send this
port id info from routing driver to afe when usecase
is enabled via mixer_control.
Change-Id: I356aae61e1b9d11324e7b9f9a57953767a64b71e
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
Add change to address the race condition between
pointer dereference and memory deallocation.
Change-Id: Ia1ed47986ec81d3dc2feb3bc874847fadddac292
Signed-off-by: Saurav Kumar <sauravk@codeaurora.org>
Race condition observed while processing the
set_pp_params command responses sent back to back
by adsp for commands sent from adm and rtac.
Handle this by synchronising the get/set pp_params
command in both the drivers.
Change-Id: Id89d98217dc5cad3703e5d545ddee21cb145c874
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
During SSR, when usbc analog device is disconnected, the
respective disconnect interrupt is not handled and hence userspace
is not notified. When ADSP recovers, fsa driver sends a disconnect
notification. So handle device disconnect and notify jack/userspace
through this notification.
Change-Id: Ic695c2267c9289f9528d50202938ec09f634de8a
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Add support to query module parameters from ADSP.
Change-Id: Ie63dd95cf27277f9c836becc98952d48971a3ec3
Signed-off-by: Harshal Ahire <hahire@codeaurora.org>
Register to power supply framework to get soc capacity.
Reduce ear and hph gain for reduced voltage to optimize
power consumption. Also set LD22 voltage to lower value
for low SoC.
Change-Id: I94de9341b8c7307128d3cd41c7398c31d57fa685
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Add new APIs to enable dynamic load and unload of BT
modules before afe_port_start and afe_close.
Change-Id: I74da9a49aac754d4557c7206155de65cf9b6bdaf
Signed-off-by: Harshal Ahire <hahire@codeaurora.org>
FLUENCE_SM module in COPreP topology doesn't support
stereo input. Update channel number to mono for
VPM_TX_VOICE_FLUENCE_SM_COPP_TOPOLOGY.
Change-Id: I7de7b49706387b09031f67e1a0271db1825cb81d
Signed-off-by: Kunlei Zhang <kunleiz@codeaurora.org>
For power saving during RBSC, need to vote for minimum
or zero current on load for respective regulator to
enter LPM mode. Add required support from audio WCD/WSA
to vote accordingly during suspend/resume.
Change-Id: I578195b84ba18a0b69dde3b93a3f6461efa85f7f
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
- Add support to set TTP offset.
- Add direction support for render mode
Change-Id: Ia869767c58192f3e07cddc7bf230992076f7a02e
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
When current source mode is enabled, comparator auto
zeroing should be turned ON by HW. As rouleur codec HW
doesn't do this automatically, add this support
in SW to set the auto zero enable before FSM enable
and reset to auto once FSM is enabled.
Disable surge protection before ADC measurements
and change HPHL and HPHR thresholds while
identifying cross connection for proper
accessory identification.
Change-Id: Ib775de0f0bdb6c655a3c0eb4775276acfbca1e84
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Current source mode in rouleur does not work
properly leading to issues in button interrupts
and fake electrical removal interrupts.
Enable pull up mode instead of current source
mode to fix these issues. Modify the headset
max vref voltage to 1.7 volts and micbias
calculation logic.
Change-Id: If3e4a2fdcf080b07fe3c363b6eb6115f101b91f4
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add new TTP render mode in compress driver and
render mode support in transcode loopback driver.
Change-Id: I636ecd5fd3fa5ccafb6086b4fca41c240b758391
Signed-off-by: Surendar Karka <skarka@codeaurora.org>
- Add support to adjust drift in audio interface
clock source PLL.
- ADSP adjusts the source clock based on clk id. Add support
in AFE driver to get clk id based on the AFE port.
Change-Id: I45ceb6579bb15e32541051e0ba936a2d903e4923
Signed-off-by: Surendar Karka <skarka@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 calibration type for this purpose.
Change-Id: I2d1fb219a3748d0ead5ca2199da2b55669f2550e
Signed-off-by: Ramlal Karra <rkarra@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 ADM_AUDPROC_PERSISTENT for this purpose.
Change-Id: If85c0b6675ea7481c7d71d5c0d770bc129332026
HW vote and unvote is currently called from multiple
clients leading to synchronization issues
during SSR/PDR scenarios. Synchronize all the vote requests
by using digital codec resource manager.
Change-Id: I7e63f69ab5d761a3bb4c7ce70bbef2e8bfd76cfb
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
On lagoon, vdd-buck need to be dynamic supply.
Add required support to handle buck as dynamic supply.
Change-Id: If6c27fffe0d0c44f178e61a6eae6ef63775c8988
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
proxy AFE port based BE DAIs can be used for various use cases, including
but not limited to voice call. Add support for BE DAI link based on pseudo
ports.
Change-Id: I00384de1104399853743e709f53f969842ef69a1
Signed-off-by: Jaideep Sharma <jaidshar@codeaurora.org>
Add variable bit rate mode support for aac codec.
Change-Id: Iedd9fe0df2d3a12e3d4e6c2916305399da10873f
Signed-off-by: Manisha Agarwal <maniagar@codeaurora.org>