Hi,
On Mon, May 24, 2021 at 7:21 AM Srinivasa Rao Mandadapu srivasam@codeaurora.org wrote:
This patch fixes PoP noise of around 15ms observed during audio capture begin. Enables BCLK and LRCLK in snd_soc_dai_ops prepare call for introducing some delay before capture start and clock enable.
Co-developed-by: Judy Hsiao judyhsiao@chromium.org Signed-off-by: Judy Hsiao judyhsiao@chromium.org Signed-off-by: Srinivasa Rao Mandadapu srivasam@codeaurora.org
Changes Since V2: -- Updated comments as per linux style -- Removed unrelated changes. Changes Since V1: -- Enableed BCLK and LRCLK in dai ops prepare API instead of startup API -- Added comments
sound/soc/qcom/lpass-cpu.c | 54 +++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-)
Presumably related with Srinivas Kandagatla's comments: this patch causes a bad splat at bootup. Specifically, here's what I saw when this patch was in the Chrome OS 5.4 kernel:
------------[ cut here ]------------ lpass_audio_core_lpaif_pri_ibit_clk already disabled WARNING: CPU: 0 PID: 2066 at drivers/clk/clk.c:958 clk_core_disable+0x4a0/0x670 CPU: 0 PID: 2066 Comm: cras Not tainted 5.4.122-lockdep #4 Hardware name: Google Lazor (rev1 - 2) with LTE (DT) pstate: 60400089 (nZCv daIf +PAN -UAO) pc : clk_core_disable+0x4a0/0x670 lr : clk_core_disable+0x4a0/0x670 sp : ffffff81727cf8a0 x29: ffffff81727cf8a0 x28: 1ffffff033d2b8d5 x27: dfffffd000000000 x26: ffffff81a3781980 x25: 1ffffff03493d3b3 x24: ffffff816f433480 x23: dfffffd000000000 x22: 1ffffff035b66e2f x21: 00000000ffffffff x20: ffffff81adb3717c x19: ffffff81adb37100 x18: 0000000000000339 x17: ffffffffffffffff x16: 0000000000000006 x15: 0000000000000001 x14: 0720072007200720 x13: 0000000000000000 x12: ffffffd0132c1e00 x11: 0000000000000001 x10: 0000000000000000 x9 : cff2cb5e2cb22e00 x8 : cff2cb5e2cb22e00 x7 : ffffffd010288f74 x6 : 0000000000000000 x5 : 0000000000000080 x4 : 0000000000000001 x3 : ffffffd010429d10 x2 : 0000000000000001 x1 : 0000000000000008 x0 : 0000000000000034 Call trace: clk_core_disable+0x4a0/0x670 clk_disable+0x50/0x64 lpass_cpu_daiops_shutdown+0x190/0x204 [snd_soc_lpass_cpu] snd_soc_dai_shutdown+0x8c/0x9c soc_pcm_close+0x258/0x478 snd_pcm_release_substream+0xfc/0x1e8 snd_pcm_release+0x8c/0x124 __fput+0x1e4/0x4fc ____fput+0x1c/0x28 task_work_run+0x12c/0x164 do_notify_resume+0x1e04/0x2c48 work_pending+0x8/0x14 irq event stamp: 101552
-Doug