When dispatch_event in apr and q6lsm_client_free in q6lsm
are running concurrently, there may be deadlock between
session_lock in lsm and svc->m_lock in apr for lsm_common.
Move lsm_common mmap apr deregister out of mutex_lock to
avoid deadlock.
Change-Id: I7c96ba12834bd4a7c8e5ca1b78d798578678b251
Signed-off-by: Meng Wang <mengw@codeaurora.org>
Reset core hw vote client handle in SSR use cases
and do not unvote when the client handle is 0.
This is to clean up the client ids in SSR in
order to avoid unusual client deregistrations.
Change-Id: Id0cee50f7ca27e29db6134b7a70ae75334e0d765
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
The check for bitwidht and sample rate along with hifi enable is to ensure not
to open speaker at 32bit in combo usecase of speaker and Hifi-headphone.
Change-Id: I4d1e5f357a74424c28d11d17a9fdfdd9309adec3
Check for max buffer size before filling the buffer and
add error handling for cases where buffer copy fails.
Change-Id: I0eede1e5baf63c35c65a704c8bf53c85fe49892e
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Current implementation allocates fixed size for array priv->adsp_fw_name
but this may result in out of bound access if source adsp_fw_name_array
dts property size exceed this fixed size. This patch fixes this issue by
allocating priv->adsp_fw_name array with dynamic size of source array.
Also fixes bytes copied in strlcpy.
Change-Id: Iea031952224672c34eb7245996687985e18ef8be
Signed-off-by: Ajit Pandey <ajitp@codeaurora.org>
Lito swr has three data lines for tx. Third data line is
on different lpi gpio from other data lines for tx.
Enable corresponding gpio.
Change-Id: I3213897766e3b38d3d04ca85410c8ca674efcfc6
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
For wcd937x interrupts, need to set clear_ack explicitly
for regmap irq to clear the interrupt.
Change-Id: Ieffc20db0665fa82fe088337fbdf8b518191be3d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
During SSR, codec device will be down and wait till
receiving up notification before doing any register
reads or writes.
Change-Id: I0e2967990bfc9d0d780d4c7e666a4c31159e70ce
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
exit irq handler gracefully if soundwire clock request
fails, so that soundwire registers are not accessed
without clock.
Change-Id: Ic2c9162e49901c7d5c876115f386d0a5a00fd691
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
V-Validation is not working due to different
size for cal_data and data_size. This is expected as
same callbacks are used for ftm and v validation.
Change condition to ensure data_size is less than
or equal to size of cal_data.
Change-Id: I78b4e6778de9cfa5f95830fc6d48b84e608ba3a5
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
TX clock is needed for setting up or tearing down
VA path. while voting and unvoting for TX clock,
keep track of the votes to unvote only if it was
voted from VA widgets.
Change-Id: Ia013517ed8d932ed3a5242bb7d052c1ee314fdbe
Signed-off-by: Karthikeyan Mani <kmani@codeaurora.org>
Update mute for RX chain related to AUX (INT2) when
tearing down ear path driven by AUX.
Change-Id: I0ab2630bb681e8dc800c99245b1cd68120290c2b
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Update the class-h driver state machine to allow HPH and EAR concurrency.
Change-Id: I5e227bdc87929b61fef78956f3a4eba4a686873e
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Changing auto suspend timer to default value without checking module params
is causing audio touch tone to hold CX out of power collapse longer.
Instead set another variable to change autosuspend delay during
swr clk request failed.
Change-Id: Ia85c4ebeea020221c8f385006543a95c69d9124e
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>