Use soc_find_component locked version to ensure proper
access of component list while trying to find wsa
components from the list.
Change-Id: I1960d5b023c3d59f5c97ca0f616b4d9e39c15c50
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Enable compilation for sdmsteppe target and also fix
compilation errors.
Change-Id: I18a13764415ae955843706943e338bb575c11853
Signed-off-by: Md Mansoor Ahmed <mansoor@codeaurora.org>
Pop is heard after PDR is triggered. This is
because while device down PA is still on.
Disable PA before SSR device down to prevent pop.
Change-Id: I6bfe3e731bdf60fba8fee90ab39c03a0512006ce
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
lpaif_muxsel_virt_addr to select AUXPCM or I2S is not needed in
machine driver. ADSP would select AUXPCM or I2S according to
afe port.
Remove related change in machine driver.
Change-Id: I55520a56bab2134a08e86909b98eb15d588c53ba
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Paths using WDMA3_OUT widget are currently not marked to be ignored
during suspend, which results in the path teardown during suspend.
Due to this the audio use-case is broken. Fix this by marking
WDMA3_OUT widget as ignore_suspend.
CRs-fixed: 2176596
Change-Id: I72a2dda21aabfe9b13ea8660d4e3a51b3185d9ea
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
During bind/unbind of ngd_msm_ctrl power_gate_digital_core
is called. Simultaneously tavil_remove is also called
making tavil pointer as NULL. Check for tavil as not NULL
at the start of function to avoid NULL pointer dereference.
CRs-Fixed: 2267796
Change-Id: I6fc476cc8b706b556836f30838983de0f34d4fc1
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Private data pointer may not be initialized before
access it in adsp_stream_cmd_put. NULL check for prtd
avoids the issue.
CRs-Fixed: 2250112
Change-Id: I0a033d7e867b183c329941b57b49232729191f1b
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
HD2 canceller on analog codec is performing
better and enabling HD2 block on rx macro side
as well impacting THD+N spec. As per HW
recommendation, disable HD2 on digital bolero
rx macro by default. Mixer control option is
provided if required to enable it in future for
any requirements.
CRs-Fixed: 2343436
Change-Id: Ic1696ff9a6dea22a3c2a6071708267e2a024a4c7
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Updates for voting for LPASS island NPA resource while
access any LPASS registers.
Change-Id: Ibcebd2d6ef368f309594689335bc07a36eafeaf0
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
Add callback event in ssr_disable to disable
tanggu PA before regcache_cache_only
to avoid pop after PDR. Also update proper bit
while RX Mute.
Change-Id: I06402269d393ca74c11611482cafbde03f4c62b9
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
Add new clock node for LPASS NPA resource for clients
to enable or disable the resource.
Change-Id: I8aa587771618d301ace72d6df1045078cdf39c9c
Signed-off-by: Mangesh Kunchamwar <mangeshk@codeaurora.org>
SM6150 V1.0 target uses ipc wake up mechanism. Based on
version info of sm6150 chipset, register for
wake up interrupt either by ipc_wakeup or hardware
interrupt line machanism.
Change-Id: I7f12d919418b284f310c8b7bb5cd24e47f2099ec
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add reg_wake_irq macro callback and issue an event
from Tx macro to Tx sound wire master instance
in order to register for wake irq and to handle
the ipc wake up interrupt.
Change-Id: Iefddc1f85173ce267c0b00c9d06be3a4a2fe29fe
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
If button press and release interrupts occur at same time
processing button release first would treat the button event
as fake, as it is not preceeded with press event. Hence
process button press before button release in irq driver.
Change-Id: I9413def87537502c470236a3948a21be47c479bc
Signed-off-by: Ramprasad Katkam <katkam@codeaurora.org>
Add new class-H driver with sequences to support
both class-H and class-AB modes on wcd937x variants.
Change-Id: Ie109f3d951af1e8a0079dd39ab2fe1e9883bd6c2
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
For export functions from wcd937x use separate
header as internal header is only supposed to be
used within wcd937x driver logic.
Change-Id: Ice373ff95f7166a2f968458b25223c582edc7fba
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Two power modes are supported on bolero digital.
Add support to set required power mode using
mixer control and enable runtime during powerup
sequence.
Change-Id: I4c5a7560984d60745ac98848f1eec1d1f8485323
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Memset the param header struct to null values before
using or passing it to other functions.
Change-Id: I09ae686e62c8812ea267d4f809529b324fb7106d
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Maintain eq data size to be equal to the max fe dais
present to not step over bound in accessing.
Change-Id: Ice0b7675b39a9fe2516a56d4e0b739ce34277958
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
During PCM closing, the AIF power down will be delayed due to flag
ignore_pmdown_time is not set. Set this flag for ultrasound RX DAI
to avoid delay in PCM close which causes slimbus overflow.
Change-Id: I5eeaceaacc5be0c200b50d1a7d0f211fa0d41f2b
Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
ADSP, userspace and LSM client driver, all these three layer are maintaining
independent buffers and rewrite them irrespective of the buffer being read
successfully by their client or not.
Before switching to real-time capture, history buffers cached can be returned
with minimal delay and may lead to overrun in a module if buffering in the
module is not sufficient to store all those data generated almost instantaneously.
LSM driver having buffer size smaller than history buffer duration is hitting
this issue and resulting in buffer overrun for even a small delay from userspace
in start of capture processing thread.
Prevent this issue by synchronising read and write in LSM driver to make
sure the driver waits for read from userspace before writing the same buffer again.
Change-Id: I2710b484a7ef03e8314c7ba05bf729893aecb890
Signed-off-by: Dhananjay Kumar <dhakumar@codeaurora.org>
TX channel2 is not disabled after power down. It leads to
noise at the beginning of next recording on CH2.
Disable it after power down.
Change-Id: If12a84df52b9c8cd55de2bdcb91f950b054898b8
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>