Commit Graph

11 Commits

Author SHA1 Message Date
Meng Wang
a982e87448 dsp: audio_prm: move mutex_init to module_init
During SSR, prm_gpr_send_pkr may request g_prm.lock and
audio_prm_probe may reinitiaze g_prm.lock. When prm_gpr_send_pkr
unlock g_prm_lock, warning log will be there.
Move g_prm.lock init and destroy to module_init and module_exit.

Change-Id: Id410e55f9dee7c0dcb487591cda8fd21e01c7255
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2021-06-17 09:43:31 +08:00
Meng Wang
8b3578665b dsp: add workqueue for audio_prm and pinctrl_lpi
GPR will deregister and register to audio notifier during
SSR. When ADSP up notification comes to pinctrl LPI before
GPR is registered to audio notifier. Pinctrl LPI will
reset core vote clks however GPR is not masked as up yet
which will causes audio hold clk mutex_lock for long time
and cause kernel panic.
Add workqueue for audio_prm and pinctrl_lpi to avoid hold
clk mutex_lock for long time to resolve this issue.

Change-Id: Idcd7c7d18709dbd5ae85e19eb2abfbed009ffab1
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2021-06-07 05:16:37 -07:00
Patrick Lai
504884e349 dsp: address deadlock situation in prm driver during subsystem restart
When ADSP crashes, prm driver can get audio PD down notification from
audio notifier in one thread while prm device instance is being removed
in another thread. This leads to two threads acquiring two locks
(audio notifier & prm) in reverse order. Update audio_prm_remove function
to deregister audio_notifier without acquiring prm lock.

Change-Id: I76dda54340973dc8c4005c741b273dfbdbb1610d
Signed-off-by: Patrick Lai <plai@codeaurora.org>
2021-05-09 15:54:33 -07:00
Patrick Lai
276748a26f audio-kernel: move audio_notifier_register to probe function
audio_notifier driver has been changed to be a platform driver.
Most of initialization steps have been moved to probe function
now. Client should also call audio_notifier_register in probe
function correspondingly. Update audio_prm driver to reflect
the new call sequence.

Signed-off-by: Patrick Lai <plai@codeaurora.org>
Change-Id: I378638d403f230ed20d5275e097ec3ee52f653b7
2021-01-04 16:23:58 -08:00
Ritu Sharma
380d126f2a dsp: wait for apm_ready in audio_prm
Wait for spf_core_is_apm_ready before sending first command to
spf after bootup and after SSR.

Change-Id: I7c3a7fbb9e190310554ae716937fd6a0d036ce6f
Signed-off-by: Ritu Sharma <ritushar@codeaurora.org>
2020-08-26 22:29:47 -07:00
Bharath Tirunagaru
ac15eb7016 audio-kernel: SSR/PDR fixes on audio-drivers.
Few Fixes on the drivers we are making are
1. snd_event is not resetting client info on deregister.
2. audio_prm is not providing the snd event up notification
3. gpr_lite reversing registration seq to avoid race condition
4. pinctrl-lpi reversing reg seq to avoid race condition.

Change-Id: I749de8874b33a528cb6b386d753f5d594139a577
Signed-off-by: Bharath Tirunagaru <bharatht@codeaurora.org>
2020-06-25 00:35:35 -07:00
Bharath Tirunagaru
ebf0162590 audio-kernel: Add changes to support SSR/PDR
Add changes in audio-pkt,voice_mhi and gpr-lite drivers.
Fixing bug in audio_pdr driver w.r.t memory allocation.

Change-Id: I6ab7ff13b532921f85e9548341969abd32ee3b6d

Signed-off-by: Bharath Tirunagaru <bharatht@codeaurora.org>
2020-06-25 00:35:08 -07:00
Phani Kumar Uppalapati
f8d25f4dfb audio_prm: Remove false error message
Change-Id: Ic59f21aa42973a5dff450e89b161d4b3ed99c5a2
Signed-off-by: Taha Azzaoui <tazzaoui@codeaurora.org>
2020-06-25 00:34:13 -07:00
Ashish Jain
4bca3d64c1 dsp: fix prm driver getting woken twice
Ensure that the mutex is not signalled twice.
Also update resp_recieved variable to false before
the command is sent. This helps ensure that the
prm driver does not miss wake up signal issued
from prm_callback.

Change-Id: Ief9274768ef38095e0cadaf8e1e4b1f0dc5350ad
Signed-off-by: Taha Azzaoui <tazzaoui@codeaurora.org>
2020-06-25 00:33:50 -07:00
Vignesh Kulothungan
8fc7957756 ASoC: add hw_core voting via PRM module
Change-Id: Ifa070caa6e5ff0263d0d471e5f0d7e7b09a41f0d
Signed-off-by: Taha Azzaoui <tazzaoui@codeaurora.org>
2020-06-25 00:31:10 -07:00
Taha Azzaoui
6c8bf95ddf gecko compliant drivers
Change-Id: I5f19da1472a0e90cc5d16459b5367dc07ec2f28b
Signed-off-by: Taha Azzaoui <tazzaoui@codeaurora.org>
2020-06-25 00:27:26 -07:00