For MI2S shutdown, if clock disable is failed,
do not bother to re-increment clock reference. Otherwise,
next time when startup is called, clock enable will not
be called again, so use case will not work.
CRs-Fixed: 2166356
Change-Id: Ic7a93a5f20eaabed93d0cd94d76d09f0f1c869fd
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
- During PCM close, the AIF power down will be delayed if
ignore_pmdown_time flag is not set. Set this flag for ultrasound RX DAI
to avoid delay in PCM close which causes slimbus overflow.
- Flag ignore_pmdown_time is only required to be set for RX DAIs.
Add this flag for RX DAIs that don't have it and remove this
flag for TX DAIs that have it in sdm670 machine driver.
CRs-Fixed: 2166356
Change-Id: I794ee96fb96fe04091ce73f0b48f84ebf119256c
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
WCD codec must be enumerated before AFE configuration for
some of the features can be sent to DSP. This is because
as part of setting up this configuration, DSP tries to
access some codec register. These register accesses will
fail if codec is not enumerated already.
Add a check for sound card online state to confirm that WCD
codec has already enumerated before sending AFE configs.
CRs-Fixed: 2166356
Change-Id: Ie5883f3543872d7a049a00a4c70445232360f2f9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
NULL pointer dereference occurs while getting version size
when version info memory allocation fails.
Add NULL check to avoid this NULL pointer exception.
CRs-Fixed: 2142971
Change-Id: I47a905a9b4e767d54b406a279626369f18a861d9
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Update the adsp status to log failures during
AVCS_CMDRSP_GET_FWK_VERSION callback.
Set q6core_avcs_ver_info status to VER_QUERY_SUPPORTED
only when there is a valid ADSP response for framework
version.
Change-Id: Ie2c6db2842c0b89c9d1a3807bcb49d413a639988
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
In analog codec, EAR PA gain control get
function is updated with input value again
resulting in override. Remove the override
of control value again.
CRs-Fixed: 2161617
Change-Id: I7ddd252adf53666a6c9adc1bc92e840067fa932c
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
With AANC enabled, and when the device switches
from speaker path to handset path there is a audible
pop. Add more delay to the aanc enable work function
to resolve the pop issue.
CRs-Fixed: 2137607
Change-Id: Icaf381179b0a81440b21ab4280cb6fc95e6fe6ba
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Add interface to trigger WDSP dumps for debug use.
Important register dump and WDSP ramdump are both collected when
DEBUG_DUMP string is sent from userspace via WDSP misc node or
when WDSP boot timeout happens.
CRs-Fixed: 2117755
Change-Id: I8b91a8939201a54512a5e3557ce771b4ff2ff075
Signed-off-by: Walter Yang <yandongy@codeaurora.org>
Release the acquired mutex when there is failure
in enabling the soundwire clock.
Change-Id: I2e10ed7f0bd86524998a67d62e85754f7989eca2
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
High impedance aux cable when inserted causes jack to change to
lineout. This causes removal event to be called which results
in pause during music playback because jack value is not updated.
Do not change current plug while plug is marked as lineout.
CRs-Fixed: 2151012
Change-Id: I99797b58c48be00185a352094e32e8623faee491
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
For audio modules DLKM support, export the ADM API
to external modules.
CRs-Fixed: 2160337
Change-Id: Ieaf88b2c1d99f5fc42a7a3f1900887702323f18b
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Check the ASM buffer index boundary before using it
to access the buffer to avoid out of array bounds error.
CRs-Fixed: 2145996
Change-Id: I5492941dfd9e7c3fa90af6caec14f9ff7e75d248
Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
For Low-latency audio playback usecase, vote for a priority
upgrade for Glink Rx thread, to avoid any performance issue.
Change-Id: I8332c80eedd7325700e695f341fc4b92f65fd77c
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
For some time critical tasks, the thread priority
might need to be upgraded to Real-Time Thread
priority level. Expose an interface from APR layer
so that clients can vote for a priority upgrade
whenever needed.
Change-Id: Ieb4afa914905750eccdf7672020a8751fdcf6462
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Set freed pointers to NULL to avoid double free
in msm_compr_playback_open and msm_compr_playback_free
functions of the compress driver.
CRs-Fixed: 2142216
Change-Id: Ifd011dd85dd9f610c7b69dd460f73d26e006cd66
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
On incremental build, Module.symver used
will be older. Add commands to delete symver
files before recompile starts for audio kernel.
Change-Id: I1e90ad4543a7a06b5940f0a2612d18ed722ecd55
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
There is a possible use after free for the ac variable
that causes kernel panic. Add spinlock to fix race
condition to avoid this issue.
Change-Id: I71638c269f572ff1eaad87682fa000cd1dad407d
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Assign default channel mapping to three channel voice Tx
devices when the topology specific info cal data is NULL.
Change-Id: Ic9d572edc1d7de07a2bd5e11d82f875368c35854
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>