From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75BF727FD76 for ; Wed, 4 Mar 2026 13:07:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629641; cv=none; b=RCFhlY51WLSLS0vQCJGosdkpWtZ2Dd/6zW1185LqwG7poI436UW8KN7Zf/ElsL1eJCT/MZ0wYdkw9FtuNMr435F4GZHnrgGPbXbECEms3jfJAfzo4APJPuG0WA8lrqh7rweGoeGTGCoGr6pMUXi4a3PulMD6hcZlRL9hjVYM0Io= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629641; c=relaxed/simple; bh=8xebNSAbJUskVVac7rNorJvuDpnXHbFrlQJGj+Tdu08=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JYXZkCQdaCW+UnSgW+bwQviKqhlUapmguKMhOjXPq0vsulZo/zEpejbUUox3UhCuJH9qVKwJWqIiEl+N9eZD+U6/wOLC7cxi3fmj8FPgha4D3OJC1q+GeDEf97bjaVh1ftRMp5EOAiORrKPyKyjONuANT/20ELGNyTs7JmX1yHs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=AHnOr0z6; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MwjV40Ii; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="AHnOr0z6"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MwjV40Ii" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6245SfkK2861379 for ; Wed, 4 Mar 2026 13:07:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=IH7tu4cejEh a0Z5gHxKrQArAxI79sxkumwMn24DAosQ=; b=AHnOr0z6zdx6n1osel6oUbvvHOZ kHmTWBZw3gAJth1pSpViiFIWmPiASmaSH72QKWjvlCphGlwxvJfBfTQHKGs7abOd jpCjvQrWBFT356kQkVymr28lQv1qQC258iyBZoHTVfOhplXVPsVhxdqfYdu+PUwA QjRUGlVF97zL+u1A0vRX0T+Dp2wGC/C7ZdaF4Cq83adfeS8djVlW3IRv+NYsgieu l1Vl/PPaBnhg24HnaEfXuzdUi7L+jjeH86RyZagWIevfXOplNg3fAY7c+F9G3flJ NeDR/mo3CA4kgjwmrSqQKeyHVMcUTOMdBH9B2N9ZjVsgVfID3GLS8LX5x4A== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp2c9kymn-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:19 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8c71655aa11so6219849485a.3 for ; Wed, 04 Mar 2026 05:07:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629639; x=1773234439; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=IH7tu4cejEha0Z5gHxKrQArAxI79sxkumwMn24DAosQ=; b=MwjV40IiTV+jBmCSNnnVlTdlDg5LEHeYW12EpAWQU977iNyIOIMkf8M+QADg2Mphia NnMDdCvmY8sBSBAhr3CldWtKNpIzzpfgAlVrTw2tmtiigN2//mW9BZyBh28tV4mEWZzO 0jGXGvpb0xAm4Ql0rR6/SZ9gyHpIoPEmSXDGvDd07MLkds7JTeQXGe7e6eyqX6NnULJ2 AWy+sl+BDYeah7Mw+KAmornGHFB4oOjIpgMWGf3t3nyNRN0S/mMbN4qMgqM+G9souzpi Vr4iWfLvnSfSDanm91ORB3kQ3DtajeEDWXXP5g9rg8ThV0X4SSaX5trTmWcCTLBerIxc YghA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629639; x=1773234439; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=IH7tu4cejEha0Z5gHxKrQArAxI79sxkumwMn24DAosQ=; b=j9S2bCj3S/mdh001a+ChgfAa/aC8fFvwNXmKQ2wjuW3K8N/WpHj+kqg7Rn7z4vrAAc RbB7g6YSG9Jzbdd8aqBQ862IK481mDyXwlcacsPmG41Y2epO3cQsVIPfntxJ13BWx/s1 3ecs7juBcJ/AWJEjBP+hULkXZMxMN/tFtZwY+Wx2TLnAEWMBa0k/liSu4jPS9gd+Bgeo LqywdWhCLtHdHwBOFJFhdJBx9XtUmyNiq6k1kY68svoYIgaCXAaYnlxEPY+GCX+6MDq3 BGgp3HqYncWGO+OW/+UeF/hCKcgNaYJku/HLupLS8Iv7VKw5z2WJC07Q5tibfrwwySj3 5tTg== X-Forwarded-Encrypted: i=1; AJvYcCXXh92SPj1EEvMukEbUsB+f/zstGBaRWO1QMtku63cGpbATIYVc3evfqda5qUJUVWZcudEut+irhmlyj6g=@vger.kernel.org X-Gm-Message-State: AOJu0YwK5LJ7Qk4E2tvYtpcpvgvpRJcvUBEPnfCJ97WqMSwvGZq1GPxw f363OUPRd+SYp8gc8pck0eD+7YKX9Knj0BY/59IxyaDwrzHhbgDgc7zi5B68RXjTNF5D9WNYGT7 rE4v0rL66GVOJ4TEW49idDXmj8yMACjZVmYJbZEQ+0m5mFrW1iQty8DEW1tP7fJQS2iI= X-Gm-Gg: ATEYQzy4XRKw8Xm9iEuMbnZ/Mp2tdyew/X4986njUO4gqcHgu4UrvD0zjHywRH4vvcE sktSoMXE6gq7yrIFKH9HkxFFMnV2MmovZpzkgGtQYuOQr0MjDAIe2hwoEJWLgaar/OC+z3/rk+5 bJFc48Y9Vw5gUgZfDKhCjiiuGPzx6ft0CnSXLyAc2hUfOBsn4Js5AzO5v8ytJ7iGV6JvaR1qsSv M3w8CMon8u7X1YfaMZ+SHiHEbdlnRwz8usUD/IXDUT8DHfsiI6HTomkA29HTeDTXqADOpTHQ1Fk MpePySdNrJeKNBFNBTH0zeYNxmhkrKGofcCtdhPW577zHrt/OBoHislGlXRpvuABomzTnPbgEge HoIYXE++vayjBg4We+SfAqbd6O7MM7IkiCZliiZZRvw3SDn1IbhTc0pM= X-Received: by 2002:a05:620a:46aa:b0:8c0:cec4:b6fa with SMTP id af79cd13be357-8cd5afb910bmr232003685a.65.1772629638554; Wed, 04 Mar 2026 05:07:18 -0800 (PST) X-Received: by 2002:a05:620a:46aa:b0:8c0:cec4:b6fa with SMTP id af79cd13be357-8cd5afb910bmr231997285a.65.1772629638068; Wed, 04 Mar 2026 05:07:18 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:17 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 01/14] ASoC: qcom: q6apm: move component registration to unmanaged version Date: Wed, 4 Mar 2026 13:06:59 +0000 Message-ID: <20260304130712.222246-2-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX7lOReYSUuyxG NMSH4qO43+6gEqmQ1+NQUPAWG0elZftUgRL6PylaOw8LUMzKDY222KAaCBQeFKN8GVWhGmNRpPb IV//+Nq0MpZT/SKkmO+UCsr/G20FhUAkpkH/5VXO3a3sC1JnCCpH/wpmjStLWZgmwG/mMypxc46 dI5Kqmzsf71fVSW3fk+kkzCmvmwNJePOvW7u9KD5GRv/11HjkIaeO2WeBeVFl/Ah7Q9Qp7ozVWA fYsDWfmf2yqlA1hQFM5vjnJacZmTKqne2RIu1ow+jlWngEsVB+edpVLpmsgNJv3KU1UREHq3itw sm2807ngK39aKTYWXI1PZly6wxArwO0YpNnXFCC5P0TS9RYw5IClIayXIrIJG0xwAqg5MX8z918 3fB6ruh/jlg9fcJywbW9WEbUDGRuftRxM0IzytOcVmeRxQ3ghlVR7LVY9t0eVbZMJLaE2WWzUlS kk91/Do3a++9RouFwzQ== X-Proofpoint-ORIG-GUID: TVMADTo7vn8emVc0ovsJQyQRfOPKssEt X-Proofpoint-GUID: TVMADTo7vn8emVc0ovsJQyQRfOPKssEt X-Authority-Analysis: v=2.4 cv=EefFgfmC c=1 sm=1 tr=0 ts=69a82e87 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=ZjLH_7kMUelE1Q3ziugA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 bulkscore=0 adultscore=0 impostorscore=0 phishscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" q6apm component registers dais dynamically from ASoC toplology, which are allocated using device managed version apis. Allocating both component and dynamic dais using managed version could lead to incorrect free ordering, dai will be freed while component still holding references to it. Fix this issue by moving component to unmanged version so that the dai pointers are only freeded after the component is removed. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BUG: KASAN: slab-use-after-free in snd_soc_del_component_unlocked+0x3d4/0x4= 00 [snd_soc_core] Read of size 8 at addr ffff00084493a6e8 by task kworker/u48:0/3426 Tainted: [W]=3DWARN Hardware name: LENOVO 21N2ZC5PUS/21N2ZC5PUS, BIOS N42ET57W (1.31 ) 08/08/20= 24 Workqueue: pdr_notifier_wq pdr_notifier_work [pdr_interface] Call trace: show_stack+0x28/0x7c (C) dump_stack_lvl+0x60/0x80 print_report+0x160/0x4b4 kasan_report+0xac/0xfc __asan_report_load8_noabort+0x20/0x34 snd_soc_del_component_unlocked+0x3d4/0x400 [snd_soc_core] snd_soc_unregister_component_by_driver+0x50/0x88 [snd_soc_core] devm_component_release+0x30/0x5c [snd_soc_core] devres_release_all+0x13c/0x210 device_unbind_cleanup+0x20/0x190 device_release_driver_internal+0x350/0x468 device_release_driver+0x18/0x30 bus_remove_device+0x1a0/0x35c device_del+0x314/0x7f0 device_unregister+0x20/0xbc apr_remove_device+0x5c/0x7c [apr] device_for_each_child+0xd8/0x160 apr_pd_status+0x7c/0xa8 [apr] pdr_notifier_work+0x114/0x240 [pdr_interface] process_one_work+0x500/0xb70 worker_thread+0x630/0xfb0 kthread+0x370/0x6c0 ret_from_fork+0x10/0x20 Allocated by task 77: kasan_save_stack+0x40/0x68 kasan_save_track+0x20/0x40 kasan_save_alloc_info+0x44/0x58 __kasan_kmalloc+0xbc/0xdc __kmalloc_node_track_caller_noprof+0x1f4/0x620 devm_kmalloc+0x7c/0x1c8 snd_soc_register_dai+0x50/0x4f0 [snd_soc_core] soc_tplg_pcm_elems_load+0x55c/0x1eb8 [snd_soc_core] snd_soc_tplg_component_load+0x4f8/0xb60 [snd_soc_core] audioreach_tplg_init+0x124/0x1fc [snd_q6apm] q6apm_audio_probe+0x10/0x1c [snd_q6apm] snd_soc_component_probe+0x5c/0x118 [snd_soc_core] soc_probe_component+0x44c/0xaf0 [snd_soc_core] snd_soc_bind_card+0xad0/0x2370 [snd_soc_core] snd_soc_register_card+0x3b0/0x4c0 [snd_soc_core] devm_snd_soc_register_card+0x50/0xc8 [snd_soc_core] x1e80100_platform_probe+0x208/0x368 [snd_soc_x1e80100] platform_probe+0xc0/0x188 really_probe+0x188/0x804 __driver_probe_device+0x158/0x358 driver_probe_device+0x60/0x190 __device_attach_driver+0x16c/0x2a8 bus_for_each_drv+0x100/0x194 __device_attach+0x174/0x380 device_initial_probe+0x14/0x20 bus_probe_device+0x124/0x154 deferred_probe_work_func+0x140/0x220 process_one_work+0x500/0xb70 worker_thread+0x630/0xfb0 kthread+0x370/0x6c0 ret_from_fork+0x10/0x20 Freed by task 3426: kasan_save_stack+0x40/0x68 kasan_save_track+0x20/0x40 __kasan_save_free_info+0x4c/0x80 __kasan_slab_free+0x78/0xa0 kfree+0x100/0x4a4 devres_release_all+0x144/0x210 device_unbind_cleanup+0x20/0x190 device_release_driver_internal+0x350/0x468 device_release_driver+0x18/0x30 bus_remove_device+0x1a0/0x35c device_del+0x314/0x7f0 device_unregister+0x20/0xbc apr_remove_device+0x5c/0x7c [apr] device_for_each_child+0xd8/0x160 apr_pd_status+0x7c/0xa8 [apr] pdr_notifier_work+0x114/0x240 [pdr_interface] process_one_work+0x500/0xb70 worker_thread+0x630/0xfb0 kthread+0x370/0x6c0 ret_from_fork+0x10/0x20 Fixes: 5477518b8a0e ("ASoC: qdsp6: audioreach: add q6apm support") Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index 44841fde3856..a4c662be52e0 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -746,7 +746,7 @@ static int apm_probe(gpr_device_t *gdev) =20 q6apm_get_apm_state(apm); =20 - ret =3D devm_snd_soc_register_component(dev, &q6apm_audio_component, NULL= , 0); + ret =3D snd_soc_register_component(dev, &q6apm_audio_component, NULL, 0); if (ret < 0) { dev_err(dev, "failed to register q6apm: %d\n", ret); return ret; @@ -755,6 +755,11 @@ static int apm_probe(gpr_device_t *gdev) return of_platform_populate(dev->of_node, NULL, NULL, dev); } =20 +static void apm_remove(gpr_device_t *gdev) +{ + snd_soc_unregister_component(&gdev->dev); +} + struct audioreach_module *q6apm_find_module_by_mid(struct q6apm_graph *gra= ph, uint32_t mid) { struct audioreach_graph_info *info =3D graph->info; @@ -819,6 +824,7 @@ MODULE_DEVICE_TABLE(of, apm_device_id); =20 static gpr_driver_t apm_driver =3D { .probe =3D apm_probe, + .remove =3D apm_remove, .gpr_callback =3D apm_callback, .driver =3D { .name =3D "qcom-apm", --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3BBF227A92E for ; Wed, 4 Mar 2026 13:07:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629642; cv=none; b=q3b4hZVjKD1aF4FW/Od8o3lwvq9iAgugIf7VzoVk2XaSpepIXXb7xr0r3XgXDPzKcBQWtoXDImiOj5Q5ZCz1gYJ2XS9koxXzm0zTjBIKSBgxjbpJ+n23SVrVG+7cuELX6W3SsYFdRR/RvE6U598sejlBW2tZQeBTsaLbgA8fzfQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629642; c=relaxed/simple; bh=fldykUob5Z2453rW/Bu+WyVup1MSOjtxkIDMh+tQ1tA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tfLhP1nlafgOMMxx8RExpVUo3O1zdvaTdGNRjiyduqpF+fSSD8tiItxU4GDktDoUTUilI3epcGWpi6pl3Vil0KO9zmDxD03OfTe1VrACHE/Q6eRk+7vKbrci8XOJKl4jjttnuI5P5CCGEyUNyZVrO8IM3uU0pbOJTyl7gRm+Jh8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=agljdLx+; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HDYt/QHo; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="agljdLx+"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HDYt/QHo" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624CiRwM3110655 for ; Wed, 4 Mar 2026 13:07:20 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=xEO2oGNAYFh ISLn7OT5Tnbx10tCrKXxJuovsEhU565g=; b=agljdLx+cxPzcUVzBVOIsLql/em iy9AQWlyf8q5bORCFczmpdX2CI1Q9ANGflc5qYghtqlEgDmotcdMfnzE33B8TPre 2spOcRL3RHhwIensSpLIYLiF3x2ZbNrX6pguhjq2FaC/nfJZu4RY2Rdtous9snss WqMqnq9eOXijcpYQEmQAXbPF3wBo/VgwoBgaQAcHLTCRWB1C29u62VT+CyXO+m9v 3KvnASUuvlz3NhwyIL0THlWhL4W4kAuXXdSbg5jin7DW5BemET+RwQj0JneZp+U7 EnMtP9X9YlOsF51vUjeA8Ld1NKKBbMuQHpAiXVm3vYk7vndVY5dqksEL2bw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp5h2b7r0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:20 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c882774f0dso4258102585a.2 for ; Wed, 04 Mar 2026 05:07:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629640; x=1773234440; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xEO2oGNAYFhISLn7OT5Tnbx10tCrKXxJuovsEhU565g=; b=HDYt/QHozcY0dzL9cQOr5DLBAcy7hn5CeYC1E05Ic/g6T33rZ7Aq7SI/NtSVA/JrPu sHg6GCiBLOxt0m3CerdhKgu5SemP5EW/LiD61mqRFNavQOEN/XGOt/ztBoFzd+legbkL zu51p+jnHzh0H8EAl0qyVxXebBG0bvkZx395Os4YULf9EOqGhmk0EGJo9Ubxj49jFXfI tKyFarbNFFxdN7K+COTYapVZx/yGOZKJUw24Kxm2nLrC1QQCaotXzMLGAgRBv0BjBvf7 XKlcYS3+LA3AL2OPykoZ3TvIwVnc3nSGL3mhnOGeaSjjw23vxcMR9+a9ggZMFjlJbkZY kZUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629640; x=1773234440; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xEO2oGNAYFhISLn7OT5Tnbx10tCrKXxJuovsEhU565g=; b=KfMXMYXvUE/7EG8jMSYTcD5XBW3CFRtDIzYFrFj7pDhlhBCU7rja0ViZZwVWdhydQj hb4wIUaRqFs9U8uLj+erq6UhL+yq1KWPl/+Ox6bos+HHLSmHk7DyxY0bSktXvAgD/L+z LU2lCRARIQkaLD3fZK/ajh3mWoLsU6u4lbefnoPDJ2PaN5MSjtRTDtp5GFUqG7z/iHIz PrQyYhCHj1kD29BEi6SPooiI7vSGhfMc5T462kxuv+DRMyt7Ptpi9I9sZ1s/dCpIbhha TL2bqL/cLNnlkIeMuK0X3PxUwdp71bem5ONAWDpCvZpQLctqozWBfD43QwmaGVUeUw8/ Wl7Q== X-Forwarded-Encrypted: i=1; AJvYcCUfkaGzqjYX2sHGP+/xjf/M5rbtZH868ChiZaFj9xIs1z4bGx5yVEIsHJOIDy3fdVaA230gvMe9VlZYE7o=@vger.kernel.org X-Gm-Message-State: AOJu0YxB+LHZyIBFfay62UWaSZF/Nbj2RtWhohwfkoHatQQVy59vvfGf KmYoQcw01vl7bf3W/pVXTBLUemWaAXyHwHJwerXNNKxnFoWkdf+Ze7Hk7XUZJcqt+oUoMRt4+5G iZ3BXanOMPOS9K3mck+DYBl36PwiJQmfUODxaxrC2LcH8KZXEX3eMEknx4b4Gf6FqyoE= X-Gm-Gg: ATEYQzz6fmHJURcOqU8Lclfby9dOoh8emhobFnG5LILtPHVpZfC55Q5f5MVlmfCPoLQ z6vVo2gFjMOqCg2xCNfd7x8mfvjvqxrBCKgavnuH6WlpUPZ5/4HknpzLKzzqH0wIt/R1zAJic0p t4J/gjbLTx43NTi3wuWM/PomU4ZxdYfGCQDZgDIUuTqLYPq9qG4MWxnIHLR5MtJXJfThKFKFf1k nvTXGotmUCBsqS+P4Z2c79tSzy0jPCu9wDRuNHBoeBB21PwZPbZv03mfQm15WH8o8N536O2V3/+ OPxwwev4h7dnBIjZLL3JTcTJoMHX+5HEjm90iZMX68y6fXSuCuP+Ig4ee39TGhsUbG3IF9klZJy L1GigfeYDz/sFhX8AW9PyZ2NP1BSOyPsqxqswGYdM2JZtwWj6CMMmojs= X-Received: by 2002:a05:620a:31a4:b0:8c6:a539:55cd with SMTP id af79cd13be357-8cd5af818b8mr229278985a.41.1772629639598; Wed, 04 Mar 2026 05:07:19 -0800 (PST) X-Received: by 2002:a05:620a:31a4:b0:8c6:a539:55cd with SMTP id af79cd13be357-8cd5af818b8mr229272285a.41.1772629639060; Wed, 04 Mar 2026 05:07:19 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:18 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 02/14] ASoC: qcom: q6apm: remove child devices when apm is removed Date: Wed, 4 Mar 2026 13:07:00 +0000 Message-ID: <20260304130712.222246-3-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=JqL8bc4C c=1 sm=1 tr=0 ts=69a82e88 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=WbEMVPVtDBSXEMPt_8MA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: 9hXC1F-M_wffb4S2tgs3QsXQf6Snm6pA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX/ShF/HqHqXur qf2oOPMAPyHALPFIh469SY39x+L1YIOtTdeMhr/WfzeKg05k7dPbpw8jiYdQXt4CBO6HeasOvLV iCTpDHTeqe7P0Pd/yypm4B3ZzM0pFMPDaeJgzOMYLailBsGEj9BbqDG0IOpsAJYHiSTaQ5P4as+ U5qn+FcDF5r59WqalzEvnzpiRFx2frvybTJUkrYnqGbAnNLuJA0ViDYzyGZCNuLeMSDATzNjvpS 0boJ7ROsqDbQZRG0zFDX2PK7TrnoJn729zrKlZmqQcPAvdnLXnk/KCbp2fKhF7udHUN8SukO5TN 0Ku7LZVQXRVIirQg3wO+K0rBjZCBRaDGNXg0I7LZjIWCEZZUy8c2GUn221krJagqUYNsMiKgKNv jLBlTCQOpOvIN2yoyj8SxIUk005Iy0/bM6nxfNCPC6a4IwXub4wqqNXK/dEj/c8FVlcg1c8kLG/ lRSYkjjs+wxqCVClYLw== X-Proofpoint-GUID: 9hXC1F-M_wffb4S2tgs3QsXQf6Snm6pA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" looks like q6apm driver does not remove the child driver q6apm-dai and q6apm-bedais when the this driver is removed. Fix this by using a manage version of of_platfom_populate. With this change when the dsp is shutdown all the devices associated with q6apm will now be removed. Fixes: 5477518b8a0e ("ASoC: qdsp6: audioreach: add q6apm support") Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index a4c662be52e0..ebd5e3ac0366 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -752,7 +752,7 @@ static int apm_probe(gpr_device_t *gdev) return ret; } =20 - return of_platform_populate(dev->of_node, NULL, NULL, dev); + return devm_of_platform_populate(dev); } =20 static void apm_remove(gpr_device_t *gdev) --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86A3E2E8B9B for ; Wed, 4 Mar 2026 13:07:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629650; cv=none; b=EQBw+I58D3fhBUcDWSGVyw9mpzgARtWzM1K1CI9PZPIdN1vh0edgzL7dRabXS35dpRGgRTPpzS9vFhhehjd4XP+e0Ka2/80x5fr2sj2Vw/7sJ49Yy7QABTOeMGP0SR0eAuhCJyKrI6x7Pj4jhWyPk9HcfNXSY7YlaDpdQ8miLsI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629650; c=relaxed/simple; bh=6jShP5otc7Z/xglFZY5mqaUqDhEckaI1JOm+jwe6kcI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pfMa/3JzPU5NJlcP6lqIS2Fof8rzMUwVLA0M7mlQa14sJFnH+KwFiWy66HyPKq3JDIug6UrNhrvnwxtEXNfx6QhrX0W+dfyR4YDhWBSj+3dJJw6bDQ1/eQ9iz6sdPq+17sc0iXS7DTNjaCGKuoN8AMEdTS4Bpb1SVhi3AVtgquA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=JnuxjyGn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RlWkTHUW; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="JnuxjyGn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RlWkTHUW" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624CKbFe2275163 for ; Wed, 4 Mar 2026 13:07:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=xKWL+GAYqNp +tTujHQMkzR7HCGoYVVs3sPVjIKR0hiY=; b=JnuxjyGn0g8xI2Fhz/yc/us5pm5 dQ1wXrsyOsZJiOhLb1UBZSyE8HP2SeUjDUV4tROqakBkBXIG8HzAaCR0yNKvy+Rn 83GU+s13of1G0m7YuQCDKz1iR5C8D18Ekag0bUFPqOGBxiyzuie1oR8Mby3zJrq1 s34xcFGScVL+ME4neSTUfy5hkxXRoyhCwVTOCjBva1dirb0va2Gfs/t+1pgebIge yHRwwy1vnFfPeiy2Km/u6nA9qbX9fJJHbJiATqItumoZtA5dXkqPutwj8SGE0VyH 1RWZUu4B6+F1dup5Ix48PvHXW6WkgILxPe43ajEumCiOpnp06qq/5nn5g2w== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpc4msw6b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:26 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb413d0002so4795515485a.1 for ; Wed, 04 Mar 2026 05:07:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629646; x=1773234446; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=xKWL+GAYqNp+tTujHQMkzR7HCGoYVVs3sPVjIKR0hiY=; b=RlWkTHUWzkwFdv8Td7O4/YCe8YbQx7pzhG+DshTM9hWBqY7wBkBX9QFSAQNQ5eTdl6 IbG07p1zOd9PbxX081yp1ew7JUiWlioY877OGczaiG7hb4L3lyng5mxHbEwP+20164Sz vr5DCSRUxSB+YGxZpGlQMbZ8ENC88aUli6DFvqNlkdXYRysiNxHZ2XOE3KTnFt8alotE 4HcKiA++5lX/CCc6bl73AJBgz8V3EtrRr1LErbT+4Zo8Ao7uf9oGCbwsh8icxgVhakmy wbGzXrpcNlhX9YIMe/cjR+clK99i6k1sbqPI+Nj3UY0zf95AKBBLlKDegHelaxKG8L5S cEQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629646; x=1773234446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=xKWL+GAYqNp+tTujHQMkzR7HCGoYVVs3sPVjIKR0hiY=; b=tGpwtvsyhJXrvPNAUuQnLwiL9zS9fh/+N109cHvFDvEvfFdoMlxp9lc+SaTHoKmiWu ZKR01ygK+wh9A3POJ3FgNOMOnbeFpRhXoCcyNUaChs9TNS/p4U7TvAHsvYbY0V+3Oq/V XnFNcTivEFauW0Bug7PRyjlti7cOZZDO+ymHHF9Ur0/1uhjzjssKrpVuy/j1o3BSiT8k z22QRwlvhHTIwg9+N7g4n4+0/M2LlP89Z9v9jdGUJkQ7HXhXhfb6A0Q/UKCVM6zqKRxW rLu0+97oMXi0nv3tCaNm/FP9sWlZXx//j0ebaH9wnmQl9druqlX0dGsVmH0C2ZImZ+QA Go0g== X-Forwarded-Encrypted: i=1; AJvYcCVqGubZNCaMGtMQwV4MhkLimfDndcY1bDJf2l7Yr4SMVNsl0/3ETYqLMUEK0QaRK/ODwch1DNs35YDNS44=@vger.kernel.org X-Gm-Message-State: AOJu0YxlKz3Tzr/8jvxb+0CmN38RIex6XuTRWvJpufQxd5EWsT7TNibF Cc198CWLq5VHVAy147igPSFbr48+e5OrN1KOCPfLyOVYw/nIInmS0kpe015AO8n8a0Bfw36KYRh 3ZqHDQzXGT0cNZPbqQ45Je1YDRw3AIxIvBGen2lVtF+nRxOV+9KN30QgKSsTeFq092kU= X-Gm-Gg: ATEYQzyRcuBUry/UujeXFvq7YpmrkMMTaquPkUMQMoQZBIrQ5zY9WpwxvnHVyjrI7V4 gmbsCY0XfNfJSZxb/NAwDzYSVBT1lrqaiaAWofrxLnyp1ySDuShvulNLsWaT17M4jqcxefs+2nI WXPVOOnl2H6ZXsw9lxKQ27CnJYPAdA+CaaYqJQ5MgquwxggoCu6jSQhg5W0XTwWnqLLbUbZjkF6 5wvOcQCboQj+gXqjFxk7a9EcAWnxaTBPi9gKMe6jrPta6wAnsu1pc+MMy6UD5VC5oIIP352E7I1 cJQVi4n08A+pBD2f/g+tfsD6PPl7R0d74cRH1x8OZpwyGtUrfyWsg043dvvNnUc/f/gXDr3jIYm QNehP/dceJ8Imre8mhMB82pWRqwFM6VgtSGIZbQOb0muCUKI/nG+5ID8= X-Received: by 2002:a05:620a:45a8:b0:8c6:c983:dddb with SMTP id af79cd13be357-8cd505e251fmr619635285a.0.1772629645726; Wed, 04 Mar 2026 05:07:25 -0800 (PST) X-Received: by 2002:a05:620a:45a8:b0:8c6:c983:dddb with SMTP id af79cd13be357-8cd505e251fmr619592585a.0.1772629640326; Wed, 04 Mar 2026 05:07:20 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:19 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 03/14] ASoC: qcom: qdsp6: topology: check widget type before accessing data Date: Wed, 4 Mar 2026 13:07:01 +0000 Message-ID: <20260304130712.222246-4-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: EU1AUxHBJFSRv80wDSs_Hze4NI67I6jN X-Proofpoint-GUID: EU1AUxHBJFSRv80wDSs_Hze4NI67I6jN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX1E66BSbQhfrK 1TrHK+FG1hvNwGvNbFX5xBa1nf8iXsF25hMDbslATj0vhPxa6aLI3RPCFTAIMSMgXcb27E0pE4x vqj3bE91iP7rgcWeaXaKLocJlX9YttvkU6T3kKue2tnWZ34IRlU+lbG9zKwO4+iOpKuur8/JMhl xWNJsJ3S+UzK0ibK64aaSm6eC1QMESA/p1irYH+GIwOoQDQ5/wL7VdJASXU8JyGhlxw7yEFuWmC YigSQ47Y1XN7b0qIHIGDVx5o/MIwJwsDLiO1g7r1QMIz+3roKe4mX6T/w4i2cXfIZpckddzHOfI 2/kCXJft9mvtO8buWTUBwVkTqhZQaKX2toF8g4dt3Up3w3WqdeCwuMR0GF+oKhGHCOe9Eimwul9 J62g+cRNjxMrKCN+q/w+1dZHhoVnAbZHHL8t/YigIri6MkX+fNgf+WuQz+DPO8T2O4D6ASd3DDq 57Nh0PtSnRHqfKt/duw== X-Authority-Analysis: v=2.4 cv=C67kCAP+ c=1 sm=1 tr=0 ts=69a82e8e cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=5HTw2GpdgXbBP0wXRk4A:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 phishscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 spamscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Check widget type before accessing the private data, as this could a virtual widget which is no associated with a dsp graph, container and module. Accessing witout check could lead to incorrect memory access. Fixes: 36ad9bf1d93d ("ASoC: qdsp6: audioreach: add topology support") Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/topology.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sound/soc/qcom/qdsp6/topology.c b/sound/soc/qcom/qdsp6/topolog= y.c index e732fac9b8ca..1f69fba6de26 100644 --- a/sound/soc/qcom/qdsp6/topology.c +++ b/sound/soc/qcom/qdsp6/topology.c @@ -952,9 +952,6 @@ static int audioreach_widget_unload(struct snd_soc_comp= onent *scomp, struct audioreach_container *cont; struct audioreach_module *mod; =20 - mod =3D dobj->private; - cont =3D mod->container; - if (w->id =3D=3D snd_soc_dapm_mixer) { /* virtual widget */ struct snd_ar_control *scontrol =3D dobj->private; @@ -963,6 +960,11 @@ static int audioreach_widget_unload(struct snd_soc_com= ponent *scomp, kfree(scontrol); return 0; } + mod =3D dobj->private; + if (!mod) + return 0; + + cont =3D mod->container; =20 mutex_lock(&apm->lock); idr_remove(&apm->modules_idr, mod->instance_id); --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0B55298CBE for ; Wed, 4 Mar 2026 13:07:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629645; cv=none; b=uMUO7gH+Xz82nB3/wvx3QbjVpD3ZR5iTsunhHCAPSUWh83jKHDyG8KjoRk2pZ8C9LeXS3hbwy5dev6zE2bF/EIhZsq05FVbqwyhdNA5Q99NmPK9eoV1tVwG6YSlUS0RtyuayrWgeX6k/HpQbfWtfqiAYnyFlidffws2oSno0ILI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629645; c=relaxed/simple; bh=KvhN5EIM3XXPaotrLaYPSuOdgBSYq4SNpSPqi8ZqfN8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Av8KHznJGP3sE6/DwcWCOFDgHhH3tSzQycJbRu1SBtB3zsd1MYxYZ5LqQCPoJ/yogM49zrKPh0VghotdlGcbSXnGObYqsSv4xAYwIGjwvqaThB4uiA9rtEbyGlasds8odcnsPaROQoKEeu3+SZpFs9g0/TQnK57prWZam29yfE0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=bJgHZ2YN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ufi9ipDk; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="bJgHZ2YN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ufi9ipDk" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624CxeC61203427 for ; Wed, 4 Mar 2026 13:07:23 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=K4gYoo9JoJP OJ5mTuliJj+hphclVDgk4+5Zp53bnrEg=; b=bJgHZ2YNtRjhg6ZNGKNu2y4jQWV 6RTo0IzyHTPTEUIcoQ9lI2wzYZhBEKeT1CiKLTf24CQbEdW+TpHTblxcvhgKFUp1 VkItVJfjhAo3P0HANGFx1kyXtKcBVBjaoJwhxLEoMr24mgndGSNgN69+8q6PJwaR epa8+tscQWZVAXUVObi0Omb/sTwMfep293ADC7493PtmvAd5tghTBLnkMGcYvSvR qMH6EIqTpo/XLJl0iy7Cx+qqVXCKe1uUQQaKjG+0vNM7gwPc4nhD2kJAwLvDEEve gSu1mtEKGhNHheSO06u9bBLQsg9u7c0FPcRNSqVpw9YjkXVZmIDEWE1ilQQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpf9c1a8v-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:23 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c70ed6c849so1009813385a.1 for ; Wed, 04 Mar 2026 05:07:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629642; x=1773234442; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=K4gYoo9JoJPOJ5mTuliJj+hphclVDgk4+5Zp53bnrEg=; b=Ufi9ipDklVsKQO7cF/i5cac1ETpF+1RuMeO5J3mbO9Y/10vLXsd6dhHoXLD+Gmt3dJ h9IOCYqAOOiNQw+HDngw5EVz2+nnw3X7BkY7yJEmT9mD+2A5jXsajnuJlL3oPbSxuJzY zRQ3BiNj5UjwIOTU+Hjbij2vZXLToNIeURrBOeV7E6WKZqZSSB0paQLv2bDtQD6t7iFd QP9J8qsthWdGK2MVO0Aq7FyrM3XrKKjkh73I/7W2IwpkV5ZBfWFI2rlrovh001xqLc9Y 1S7+NsABzCUreTQZEb2l8HArsF9iYHV02/O6OqpVdY87KQVPt8uzvcfCdSOeKZQIgGro qj2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629642; x=1773234442; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=K4gYoo9JoJPOJ5mTuliJj+hphclVDgk4+5Zp53bnrEg=; b=s1qWsLoAVC2CrLxid/u4T98hJvNU2KyM9mdABH+7mjrR2gPrdhtiUdGwsmZ5qGZbrU 8f0e8Om9on9sr0EcGFBVW5RxSSdbkdxaBaiEasME1SgNXnIQz0pXNm5AT9sfhRIxdE3G sNpfUMH55xyPM6Gqe55lEBvwUXj43dGbXk37+0AqqQg80zIAcM64QgEnrMhevqTmEB7L wQ27azGRbLOo86IqQeKD3GEF7+xwUJD5e6bgoYHZzKWwU89iH6k4LcoJCHWmCQ0GxKwg lMyr+vSWuFZSgpvyIy+oUXQAIu9J+avmwsGVPNUOCTWBaAxSZMx2r2dyd3Zjp3qQ2OhN Xt1A== X-Forwarded-Encrypted: i=1; AJvYcCWBLktZb246RQPuQzOsQZwzdPzUlhdna7XW7sgkHNY5j4YB2m2amSCyoHIbxj0O/83Jp4ALH2H4iSGrW0Q=@vger.kernel.org X-Gm-Message-State: AOJu0YyJjNIYiwcUrOxosljnymBxiIBB+0yyhA+GDP9CyDE/zay3MPCD KOTWcvryW6U4Y6Zg7pKY68hhx+jB9eoZacjGI1j4m/InRCjnq4gHiGER2CtGBk+XGY7/ryv5fKk ketRRAjzDq1p8+Lbxi9vJMIDWnFaVKB5n/3xTfXocwSv3VUacNRxPa8/nQqWdqhHlrTw= X-Gm-Gg: ATEYQzz4ehI88DRQsFI8JHn5XnWfIg7P2w5YqA7npqsg5ANbRvSuss8eGS2BU0HtAve sNGalKWsMoExT/13SMpUDtgN2EuWXByBqfpcTITRnAresDevOxT8piFUQTca9y4Y9Ed8rzPJ7FB l5aC8BliTIjVukU8hha5/ErSdUaXcqq8DhnRiWw+Fqp4xsHWWSX60XHWLvmaASGlaXzX1Sv8NMj A4UYXJ6W5TwCIdYw7FrGhCaavTv0nRXieuDmJCPqrQeZTqYvL9UuC2vUrxdQgvgMxuQgHcLE+se pU8LMe7yTn3/12mWWJWEQZvHeqlfrmTWDVKbMPL4ySx7lQT7L414O7ivMeJKigRlnJxainSB77P oxScTrtHjx6tChZ0PO0TP62RjUx0f9jGE4n6Z6wzgS4tMpFGnj1641Zk= X-Received: by 2002:a05:620a:4727:b0:8c7:1a0d:7d9d with SMTP id af79cd13be357-8cd5afd2111mr209563385a.81.1772629642214; Wed, 04 Mar 2026 05:07:22 -0800 (PST) X-Received: by 2002:a05:620a:4727:b0:8c7:1a0d:7d9d with SMTP id af79cd13be357-8cd5afd2111mr209558085a.81.1772629641720; Wed, 04 Mar 2026 05:07:21 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:21 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org Subject: [PATCH v3 04/14] ASoC: qcom: q6apm-lpass-dai: Fix multiple graph opens Date: Wed, 4 Mar 2026 13:07:02 +0000 Message-ID: <20260304130712.222246-5-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX+O1uxt9SsKwI 8N9tCJpj0sco3FNUO+lOU9PLAu7o9kmAjQpZIklZtPmKLcSHSzElEIJJIPNoBDfUO8mJQMOCeH2 HuAJwMxfyOEZ39TwjzUK04l4o5WDrFhJ9P0S3cM36FjRsPq7U/MZkqm77mk6GYRU+9AALqCKTd5 O0msKypEYlYYACJ7qWgM29fQXqIiHh584FBx9Iw/z9dN0lXyEr50L+ufBK/w1hJGG0b8cVNeVrB B1HJ392gNZv2Q/Ux5UyB50Qnq5Um5okFpihvK02uqJbK5XX4o8tb5PFPOomZ6ik4x5m+0a61YZG QPGxmEgO6B5G/BSzk+SiDcsQLvPFcSfDPxfk2I+SMgh9nwYWBuQqrmd9ymCh5XWuFAf8Ejffals YPcR+8t55pOCVte6czXTktugtLEJabikGAjXviPDdZrvtLMvGrz8OgVvcktHKoBRoyiMcUCSH5s 9G77EtAQwvIyuiizqSg== X-Proofpoint-GUID: b4j9eBJ-gppTiXhKdIaXiFHXM1yZ0Mba X-Authority-Analysis: v=2.4 cv=S4LUAYsP c=1 sm=1 tr=0 ts=69a82e8b cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=M_mAHeyD2EURj3i0m2kA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: b4j9eBJ-gppTiXhKdIaXiFHXM1yZ0Mba X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" As prepare can be called mulitple times, this can result in multiple graph opens for playback path. This will result in a memory leaks, fix this by adding a check before opening. Fixes: be1fae62cf25 ("ASoC: q6apm-lpass-dai: close graph on prepare errors") Cc: Stable@vger.kernel.org Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6= /q6apm-lpass-dais.c index 528756f1332b..f68d4b4974f3 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -181,7 +181,7 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_subst= ream *substream, struct s * It is recommend to load DSP with source graph first and then sink * graph, so sequence for playback and capture will be different */ - if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) { + if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK && dai_data->graph= [dai->id] =3D=3D NULL) { graph =3D q6apm_graph_open(dai->dev, NULL, dai->dev, graph_id); if (IS_ERR(graph)) { dev_err(dai->dev, "Failed to open graph (%d)\n", graph_id); --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2F3012EAB61 for ; Wed, 4 Mar 2026 13:07:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629646; cv=none; b=NKlB3VEUxdBgbRLbxRUDK20vI9zJCRqFI0k6FjKuhZcu0ixOvQEdlvpWoR1wS8KJ7VEfqWpSDIcw+h4O+3oiFa9xvAbddJNgMJAHcLMTDCdJP4NqOQG53fpTCZZNzhqvx8qPHg6SHJXNaMGkDmJOsXsKnVxvznRF8Jr2pHtljVA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629646; c=relaxed/simple; bh=AhoflfyPSEypIadA7rENraHqNcIi0OFcEnzEL9v8we8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sn0TePWJwR9ZjpkMejLE/hf8Q9nRK8AJdmWjpByCs66omv+9ul8bIOZ2O4Kaf6tKnx0wer5IGMHVxU3O31nVfHHI/xF1kCgGNqgiEMyeUC7tfIQuiXR0pmfp3WbJzNTM4U4a2U8+j1fviScQnwrPPsB8neem066vQkGGs9lKsI4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=X6NMvo5D; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TnoVotb7; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="X6NMvo5D"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TnoVotb7" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624C4L0Y2306031 for ; Wed, 4 Mar 2026 13:07:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=PS19lL6QwLa ikI1GyQO9iydtpc90HsQ6A4ACO7BE4wA=; b=X6NMvo5DiaqLkarnGukacZIf3Pp KUpkBmh2/n4zstZh0MVQ5M/OLoFjyrL+xIf8hYkJ0frgdcnp+xgWICBgibFS3XjE FxpjOOJnO0okahQH9Aa8rseTNErMB7ayHHKf9kMG/3c2TfrIoa2+/wDdYhTJdHfK ZYq5j7wcHVPiM8QosHQ9sCzfNIaFyGREKyO9mYL2q8cFGkUe5dW2xT3NnJZLosyQ I3jBrjXV7058/OUhuCgbXF/nkeLIy2gsBYib/fQpp8NC+3UJK8r7jqn3GJ28qzCj 3AxKQSAdy/KBVO85Th4dCob36Y3mIu9Uzdui3B1wYe33BE03ymONTh4hrHQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpau8t73d-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:24 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c70e610242so1062310485a.2 for ; Wed, 04 Mar 2026 05:07:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629643; x=1773234443; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=PS19lL6QwLaikI1GyQO9iydtpc90HsQ6A4ACO7BE4wA=; b=TnoVotb7k2U4qIj4GNsKstRDRVMCKlPKVz7lyqtGaaPx373P3kxmgu8Rc4kh+g/DAT pCuUYcBSejGNKJxRcirxaQGG2kpvvxlQqe/N6qIXtDlX+ZXuWHK6yGfpa4horXMzOj9W VXHU488x78UZd8W4WSf47CWndUaZj8CTbKYiyHe5XXoT+odr2/MG4WYK0boE/lTwxPT1 e0YXBRyFx6mftmiiyIV7WjuIU/Yldnd80pzgq+C9HpC+bviSREb5TceA+oIeUOOvR5fB fL0Lk8OSpjKjKuk1Qqr3TGWSCd49Y/iwSclh8qrsW4jIX1qSuKNo5fjefKmzHppsI1xd OPwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629643; x=1773234443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PS19lL6QwLaikI1GyQO9iydtpc90HsQ6A4ACO7BE4wA=; b=MqO6qwVgt3MmXNIZiouZB9+63BCtnxaP7LbuXbeuQ1bfhqaNNx841c09dOeBE22o5T w6cDM0C8NvJYoJGIcdD9ft5zSXMeS7++vuj18R93ZvFDfmoW+Bb+kmGhEJbexLgM5Yfl vFHv1Ih2GPK+OA/QZYIZ9WTFmeO141B37q3BAcesLYdFJuIYB7MGPe+iTjkPlA0Y9yzC IEl5L70fBgNOkGxeKtgQNTMeLOMg/lpmNwYtoSXokBg3W/qNDafWHxghDz9mFJAMBKQo GvGIge9VrwHYWljhbfPPEIYIsNv55p8ifaJQY3HWFOfNwJkDh6NkE83mynp9zO+dK3mY bmgA== X-Forwarded-Encrypted: i=1; AJvYcCX3P0P810FdneIXePimd5jzwNH6qGB49Vm3In+dobKtn5+kLKx3lloNcBfrO5Atswcbx+jsCKVQlsxG2xI=@vger.kernel.org X-Gm-Message-State: AOJu0YyH0173QCdY6ZuDIaz1lVHxYGeC3p7Y0+vN8+uXJE6rAYQD0tCp MIretoTlB7cTzcDRgbdyPCB4vIDSUUGfhlGYxHsSO/iirsva2ZYY32c2PsPEX1ohFSOHcmvgjrC baytSx0gDEcivFfLHajC8hyNDR0/aSIHpA4+LDPt1GkMiX7eDBJ0rG/vzyba4eikvb+Q= X-Gm-Gg: ATEYQzz8iqASQw6AdmHKwQ/IOMB/T9IJhMqdgfzn+XG+3KiQXijVKh7QGqvAYqt6A8o xUOwvJy8jH/WNFqEAkwd5zVuBHUTckUoaDe1jTHtnBSPy1rgZYLzyqxCetLPvrQwe/vhtuQcJUm S8rVJ9NVmvmbrm9Tl/hpiXqkYeFmg6GXU8/Dgr0qtWby9940uw9VFjgsV32GQa6m+tF/qHgP1Zy 12gmNEVDkgsELu4Lq1KUNzr1wNePWQbuw3QDnz0DezhcJdeGryUSKaf9MPb1KuPTU38eiiYeHct 7nO/BjGEyCW3SXQ3bVEYqWMbUPg+nFr2ZOTUn5EdGBkILdpPIF4TV+ilNOOGdp3cicNUsXu6WaW tndm0YfM/Dv1ui5IF0ggmwoCCTp0mL8PFBYNVRZGkK5GUisyv07hTNaM= X-Received: by 2002:a05:620a:d88:b0:8c7:d2b:b5c9 with SMTP id af79cd13be357-8cd5aec945cmr205978685a.9.1772629643530; Wed, 04 Mar 2026 05:07:23 -0800 (PST) X-Received: by 2002:a05:620a:d88:b0:8c7:d2b:b5c9 with SMTP id af79cd13be357-8cd5aec945cmr205970985a.9.1772629642975; Wed, 04 Mar 2026 05:07:22 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:22 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org Subject: [PATCH v3 05/14] ASoC: qcom: q6apm-dai: reset queue ptr on trigger stop Date: Wed, 4 Mar 2026 13:07:03 +0000 Message-ID: <20260304130712.222246-6-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=AJS1/0o2 c=1 sm=1 tr=0 ts=69a82e8c cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=w9bA4Yi6UXS1dLCTJJEA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: vzdk0LPF4-nht2uxboe70l7nACf-fQI2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX/vkoP7yf+c4s IJsAm/RMaxNI9KKJuGlKwG/QAT5hhxqcRgpvsnDJALC6Dh4gZrdvLxFyZMqIAbFjxTRVotp8JFC jCzTregrkOS2Tq6m2KYPdrdnnIkX1b4D1OdE9q3qFeJVWkVOcGnXPqRt6NAANhqlj04bbZZMcDJ r18B/4GGj/RH619O2QtCUBitHTnrbD0aE2yz7Thyb9nZnpvaM3wyTCeGfaLnXz9DQy4HAoUzftp uGL29JH1f+VEyYuWB6TqfiPwjIDpJjK0XFFOpxQUsjW/OkPOu7GX64HwnS2q0Pali+xJu0Dlg0y JKG1heVaNgOA8u9e9rnc/jYTi33GQS/qfgE/2G0vHu7lr8lMxtDgRnuG8vdmFpkOcxZBMnA5D6s HaduhluVBFpj7qhmFluuLdXf0wMm6L5ziEAUDb/NeU3LpdZD4qEHDqVINXX2+EZ2Vo5TbbWoGEp KZQVpKVJwSgMXSmAWwg== X-Proofpoint-GUID: vzdk0LPF4-nht2uxboe70l7nACf-fQI2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 spamscore=0 phishscore=0 adultscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Reset queue pointer on SNDRV_PCM_TRIGGER_STOP event to be inline with resetting appl_ptr. Without this we will end up with a queue_ptr out of sync and driver could try to send data that is not ready yet. Fix this by resetting the queue_ptr. Fixes: 3d4a4411aa8bb ("ASoC: q6apm-dai: schedule all available frames to av= oid dsp under-runs") Cc: Stable@vger.kernel.org Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-dai.c | 1 + sound/soc/qcom/qdsp6/q6apm.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index de3bdac3e791..3eff45b241c9 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -317,6 +317,7 @@ static int q6apm_dai_trigger(struct snd_soc_component *= component, case SNDRV_PCM_TRIGGER_STOP: /* TODO support be handled via SoftPause Module */ prtd->state =3D Q6APM_STREAM_STOPPED; + prtd->queue_ptr =3D 0; break; case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index ebd5e3ac0366..f190ad5e912a 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -215,6 +215,8 @@ int q6apm_map_memory_regions(struct q6apm_graph *graph,= unsigned int dir, phys_a =20 mutex_lock(&graph->lock); =20 + data->dsp_buf =3D 0; + if (data->buf) { mutex_unlock(&graph->lock); return 0; --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 335003112BA for ; Wed, 4 Mar 2026 13:07:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629649; cv=none; b=af4/tNeBTfVYaAJqGjcPWGtgi7LZkk23L22C58we0rVNyDMWn639a7VWqbZ/eZZOTqI7hx1jZHw1At/ljB8YpGsz3+0dwq3ZMvwrz4oHO8yi1CxOcoEmQxSLwIYNCA5xxmR9z2GfTBVTsiOkPI9RyPaJ9H7PHaMJmgeCmeHR3S8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629649; c=relaxed/simple; bh=nCfX2ew8MjR6tbO6p/o4VIded8eE480jujZMmjVg3Gk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sX9ZlYn3jm+/hZApeAuYAnKADPb6p4+IF5qe0393JjTWUT+NH2J1ii9EaAfvz745b8Rc5pJIYsmZr8IpqI5PeEelkOE9bDiIgBvNutgiNqtoZR+1W4thiUZ8t7EW99mgoAUd3nC38R2C0IzMsGP435gfPaGiHgk+6yUfh8rjk0s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=d2G5ebKY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=j6gljoX2; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="d2G5ebKY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="j6gljoX2" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6249Kdhr1455844 for ; Wed, 4 Mar 2026 13:07:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=pynfFgOXiUt H3xXg8Z0aqV/XyaSIlD25TqToivr9SnE=; b=d2G5ebKYNBmBUOY1/hje1DHkOq2 hDyPpCPmj0ol/TGK0Z2WcimRWtNNMfhLcuPzZh+jrKGKUEMxBLcxxX6KaqYgS/+n cNm3e4FACrdulKMHdLCP+DNlOSB9yWSTmYid1tZy2KBeW5HMH+2G9dXWuMIK2yqN 7p5QsweL38tTZ5EK5J3Ae2khGHv7JY8Nv2PLP7/Kv5dmP/mIibx7KPZVqFykyszj TxMehAx8DIvx8z7TBTHB7svqd1IdYTtIRBLvIFDcxh5FxubjJHXP1FckJIvHWEPd tdSC5/5KumgW/gKAgbXpvfu7eR7RIvYjTLJCdOhp4Vt9kMn+N1qgAzZZxKQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpj180n3a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:25 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb390a0c4eso4369472285a.1 for ; Wed, 04 Mar 2026 05:07:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629645; x=1773234445; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pynfFgOXiUtH3xXg8Z0aqV/XyaSIlD25TqToivr9SnE=; b=j6gljoX2UUfM+kErrykrEj3Tdq/D7co6+F++tfgNS9YyTaVoQ62BQzmMDfJ5X/FcYW 9PUaFuua5gdBPFPII+pviVEXpBJnOGmHX/tiHWy0j1mBOyEVEik1aXSipuHV2wRGOIDQ yDQ0hb7jLlD0SFk8+6mIa0izHr2BZbV0IQ1K93wo4qu3FczodP0KmOoghwguRvRUBzcT Zh4hDbFPQG3ZPgjWV0of+lH847eochn5AAGu8w8hXY2l8h0gHTeyAwrgnC2eTuAUEm/a g4Yu0cpfOR4cd5mAkfErVf1MgXT1EramkH4tfRmy4WQX4Sm1yuH8KilvpnA/J/y8obe1 30gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629645; x=1773234445; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pynfFgOXiUtH3xXg8Z0aqV/XyaSIlD25TqToivr9SnE=; b=bWpSHhWxb9JVI6c+i37X0Q4dAXI2f+dgMq5IDQx+99lIl5aCaHzxPqWKT46OL7H27z YW7zo6Tqa6fxgqHRTAJ35tnbZc2hf3+OQQJ3V9zK/Imwo9IOhPe7dh3wtPNdxj3/xX2z DAGkIKx+x1A0SXVFnTrJAH5ZB6EFbH1JiS+SoLZirwXuugOPy4wgrYyqmZJiYmUCx4tN fkYxXw+Ac1F9RGz/Rvfr5sxInx3J5CvcSlqi2z0S9hLcZ0OXbZlIQf8m5kwDU7rx9acZ RYjxxtgSs4dpTaYuB/k2iwcGn7RdHBurTBaeRDVkJw4SmVmD8L8bQCYdCn5uZdj5xivU 4PVg== X-Forwarded-Encrypted: i=1; AJvYcCWfAokbFjwW6ruqYDE1sOWAMMTrM3K2IqEu5ilPTRCbvta4vI8EMuu80MYRe6qZhN7H3MmHHtqzW9x8Hy0=@vger.kernel.org X-Gm-Message-State: AOJu0YymQTHEaiYxGObZzX3cVbi3gmkOF5PTVXRxbzh/9bhD0abKMjDr NoFjs5m2GkehvuUfyX/pdoCmh8Z1wigBCnXWiqIaQgH2CmjYUJ9XnY/iCH/X2RsfXnBwFvB7Bkx KUnSyYiBbsqrFzowepzUrl+eghtz/vbR1kYF8kJWkVVVjKqsUnNUzw8q0Rn9zV1t/4K8= X-Gm-Gg: ATEYQzw2QP+79r6DpjtDDiX3R0SS1n9y9JFyL/9O/u193WmynP43iAdLANUqfIEQWGP VItBxmBiAWbE0OXc2qx/j+82O7TP9g22GZUNCHduR/OunL7WzCwVrfe49jO0rF1waGuKfpTYcop U7groyaLVBdcI8p2ziIPnr4U5qFFpxhdPeFARGoob9rRJqHbS8a0GnpENhGeCvU0BkNA2Yfkn3w iymguRdQksr3wFKYhWR5/DxLP2pODAPju9CMhiLZNU/Ou+UsD7r55fQ6sV564jdxomWcmmM6cgl MAwbm5dK/4WbFNLCx4ygE2o8gO4hW7/16kncWjWZVWJMUoGQ/CWZGSDvre+e2L/OM+vx0cmviaW iQ58Be1wVWEeVzotHy84kj6pVjbfDUDdZySY1Z5UPDDx/FLzDjJUIRvU= X-Received: by 2002:a05:620a:690f:b0:8cb:72b2:29ff with SMTP id af79cd13be357-8cd5aefb9d2mr213388185a.30.1772629644727; Wed, 04 Mar 2026 05:07:24 -0800 (PST) X-Received: by 2002:a05:620a:690f:b0:8cb:72b2:29ff with SMTP id af79cd13be357-8cd5aefb9d2mr213383085a.30.1772629644263; Wed, 04 Mar 2026 05:07:24 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:23 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 06/14] ASoC: dt-bindings: qcom: add LPASS LPI MI2S dai ids Date: Wed, 4 Mar 2026 13:07:04 +0000 Message-ID: <20260304130712.222246-7-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: NgDh_kfY0HUZNW-14X28JSnZ0oMOaH-z X-Proofpoint-ORIG-GUID: NgDh_kfY0HUZNW-14X28JSnZ0oMOaH-z X-Authority-Analysis: v=2.4 cv=Ed7FgfmC c=1 sm=1 tr=0 ts=69a82e8d cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=JSm23XzLRogIhJ8VZY0A:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX7ih2sA/9LV4g YoVVWicYO0goLsAGvAVJkG4TT8n+W9kbhpHpFpZLBrQ2nO35EkEl0Y6DjamXFtnQLDfkpKT6Gi9 c8sGrs+TQEA4mQI/lhBPm1JAjmhsYEZ1n0oCpOwPFEeOmUMntJF0AZEf0eYQUv2NjVyiZkkcjuf 1cMoRRyHDrb8ZkczdV3G/Ih69YSwAqM+gr1WeO1jkiPJtjqwdB9mMpuWnDXtfCOFjBjnOCBMuTX N+v89isKtPkWSOKT2KEn0J/4OVjM5WX86f91goazM0PkWCMebCVlq71svkuOjPE1WVhw68hW2gN zPe8q2RAbe4TtRcpSpDWxf1QekuLKHlMbq/WpuvPDZI8PLfcn7SHgzrk6yqJaRdqJItFKRahIl3 yPIVuXOWSWu/6u0APpYyhNg1esElDXu5I1y3n+6PR7T81B8y6tH2N33FXq6zEVIFh/YE1I8mNjo w16yqPwzlAcJZQKK56g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 impostorscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Add new dai ids entries for LPASS LPI MI2S lines. Signed-off-by: Srinivas Kandagatla Acked-by: Krzysztof Kozlowski --- include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/d= t-bindings/sound/qcom,q6dsp-lpass-ports.h index 6d1ce7f5da51..e27a31ece1f2 100644 --- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h +++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h @@ -140,6 +140,16 @@ #define DISPLAY_PORT_RX_6 134 #define DISPLAY_PORT_RX_7 135 #define USB_RX 136 +#define LPI_MI2S_RX_0 137 +#define LPI_MI2S_TX_0 138 +#define LPI_MI2S_RX_1 139 +#define LPI_MI2S_TX_1 140 +#define LPI_MI2S_RX_2 141 +#define LPI_MI2S_TX_2 142 +#define LPI_MI2S_RX_3 143 +#define LPI_MI2S_TX_3 144 +#define LPI_MI2S_RX_4 145 +#define LPI_MI2S_TX_4 146 =20 #define LPASS_CLK_ID_PRI_MI2S_IBIT 1 #define LPASS_CLK_ID_PRI_MI2S_EBIT 2 --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E4CD6344DBE for ; Wed, 4 Mar 2026 13:07:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629651; cv=none; b=bg9VYKeLuAGQnATUYE0Q/VUpFvlgkOC16bjLeHcdqRaNwTFmIBatFRS+cKi6byF9NxSHHDQu6Bc/DJa3KOE4cshACE/t/Ij5l4yHg52MFQuD2jLqMwYtaiI6BowZRW4Ny1uOh8z5Xp13rBvZ6LI/PCDSOrM4tpf06HGlF8QuYGM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629651; c=relaxed/simple; bh=1AGWMMo+ZQ2MpMqgndQclqL9hoOIddPn00jRigW1KUQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZxdhGfAiYC0ZbuFZ5MS32MEpBQ7s49famvZ8VB8EHtrFSZng9s2eptuKfWthIhpklZEyOYViAe/QQIQIAMRBaC73Lzj+86QAWpztpywyrBICneK5aSqxAuI1wCixh95D0q3+m29vxO+LNYHpQU/uPrgzge2HhTI+l/zlA6lcLx4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=STGiRzOy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CVnkTMHd; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="STGiRzOy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CVnkTMHd" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6249srbs1213714 for ; Wed, 4 Mar 2026 13:07:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=2UA23pg+dGV Ambwz2ppXfyVdk6xlbVmq70z85L7JFXQ=; b=STGiRzOyvXPiZkgPc8Msq9QtVaX HIDfmhqAJcNVwgb+hLc7IwLxX9pVGHVQMQUQGeSeOORBMkR6SjaoRPwnOPm2p5NQ Fpv88bBLCiJNbDWLRVpu5FY7ig67K/41Br31UPqI9HIuCvLpGAK+0UwIiBqKfs+m CEHIUbsWzDfP+9FvONbBcAX/LBj2oaizmgC6nellVQzjf6SpbpPn6GdKAW2vX09+ IzTnSl7onFSIDGtlsktNgLjk2I6vWLmKM2zJ0ZQvP1ecoTJier6+zc+W6BCN+bZh V6n3kHFV+ZgLq9vFQHZynt762pFKH/JYaGBoHXh06aM0Xdbn4PIHa2KFTew== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpjh5rhp1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:26 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cb6291d95aso66150485a.1 for ; Wed, 04 Mar 2026 05:07:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629646; x=1773234446; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2UA23pg+dGVAmbwz2ppXfyVdk6xlbVmq70z85L7JFXQ=; b=CVnkTMHdDV4D3suRmBRlsxEy+qgDmnSESrLm3oxXJZCcQNvQ4ZAwBHswjKATRfPnZR lGPsYt6xIG/AWxokUgWRAzQnzHhY46xkGXxBGXctHlaelUZu1Rk3ppimcAkY+W0eP8XR diN9eKTJTBsmoE+54PmI/YF5OfEAn0yClCvmtVjNIO3DFJIry6Wy9eHtAiRaONlZLTpH XBXrihCXBuo+P9HZxRjbuFTCg9UmRZwjq5ipTbuzcX0+kde3pGCMUOWDx96Z+WCDnzhO uY3kFGIFTY7coD1x8U3K578LBO6+2gZPe5QUBMnCM+jJssm9sUmKcJqz0vAow6tv4SHw TrtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629646; x=1773234446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2UA23pg+dGVAmbwz2ppXfyVdk6xlbVmq70z85L7JFXQ=; b=g3AZZR+v7YcRIFPtotCRDojWfJXHbalYgJdB1wcKvRB1DBEOpKiQXCbsWfXQ6jSy5v CDo/NbijZVqQfzHTtNTBOoGCwa4cH9N84ckaQXaumpcQijsN9yeuuCkVmTVir1SI2PVe WuzKvQ8XEMOa+eJkWrZkWWWwSqIiYV/Xc/eHAP/PqOmk079QvmKGm3sryDbrFlgOf8Hl rFgC7Ou8/qWNUutNwuJo1W5nCKQyPoEsHa0Mq9dxp4Ecqo7fhPnPPIgrm+nJvQUGfLj3 l630Alk6oC9HKFeRieq5yyrbgWoYtOBfEDqBRtabTMQ6g8/pqso5MTIPwAa7l8SVEP7Q QuRQ== X-Forwarded-Encrypted: i=1; AJvYcCVQKy4kMznMfoaRZDBAtmeQ8cF5lyl21aUzgdLAIbSxn4QnG4VvLdzJbaLZ64B+Q5raGz0ADrQWJIEvB/E=@vger.kernel.org X-Gm-Message-State: AOJu0YyEaJkbCJCIHr1IHfwaFsM0pKOlA7AEcvb8dtm8zpfFqbHodaPw zjZwzgTA2+2L0sjekG9hCdk+B/af0WPcyh5HZnSUTX8hsu6vk5kre9TuRyLiJoPRYDSqQRcFRJd cphKJjhifd1cVd0cvNFXNnc2Iz7hExzEYrA3fwBQqtj/cnYDhIhBu2r5qnwIvV8ZPuqs= X-Gm-Gg: ATEYQzyQYGYtgIo6hsQ1OAXB3yJ9y67XPPjn4A4hCG44vt1yqSHUIGZldgPZ1KDs71Z azpHVtoQcJwEysjrjDufpRezS5HalSLOVhiInOqxbRgShV4rRKFPemKvgJthEDUu4MhmqqGqlXw 926u77u1TCLm3jDq/jj6wcrj5r4Xn8zoAmN7wva2HCEoGqtWo2gppIjm9oGB1d/mSjp8/p2zNw9 amLnYVvLvlFi+IAx7HDJSyllXiaVSrCBbu6HwWC5gdhXL67snMLX7D0i3yhmZEsq2AgDTQgP084 elSrgK/bNAzeVEndeny5j9PYTRtfSvHRKLwqTPFpzaoHFgniNJuLUa8aWf5E85EjV+Uf12uaG5B 9Qrv+tQiOwhl7YCUQ0q6M1X3W/xDlD66FAhHI4zB44sjPB5FcGPEJRXg= X-Received: by 2002:a05:620a:460e:b0:8c6:b4c9:aa86 with SMTP id af79cd13be357-8cd5af1b3a5mr218504085a.36.1772629645961; Wed, 04 Mar 2026 05:07:25 -0800 (PST) X-Received: by 2002:a05:620a:460e:b0:8c6:b4c9:aa86 with SMTP id af79cd13be357-8cd5af1b3a5mr218500685a.36.1772629645556; Wed, 04 Mar 2026 05:07:25 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:24 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 07/14] ASoC: qcom: qdsp6: lpass-ports: add support for LPASS LPI MI2S dais Date: Wed, 4 Mar 2026 13:07:05 +0000 Message-ID: <20260304130712.222246-8-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: fyAscqCuXvMx1Lr-i6cXvZSnboDL8MBL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfXzQt1Q35yVIeC aljHrcbKur2EriIToqT+e01JqTyu3EFzseH7c04DUZZlFoA15r1undUc8Pr3sfOauH8L5g/6/3m pLDudC2v1My/eCyciDN3i5XgsaSp8Fl+s6h0QbRrcNq2hoiybuRp3GlT+2p97d6tcYS4wLDfNii yapA0h1Ai8wTcEExsOw5TUZSb64MOzHoJsTFaHiIrJDszkVSe1OrNpwYLgQZzWg+t4vlP+kQfMQ Ed8HPjWXPTQN7Y/g0zlmNF+5xMblCnIdoAh4WGxahf5QEuYGeSeJ7ca4y31+dPs/H50VSACtg6k sqBPbSGW8F1xjBYjgK4WLfNXX2fTChY3eDuc0EadsxMmxc2GmPDvNPkIUNawkf6M+ZOoK5X/Cpy fF6bFKah1rkwKWOOcc0MFHO7Mrd/vD9Z8cJkxd14kKGedK6yXZGdAwMoD1wNoYZC+JnBWjgK2N7 t06uf09Z+LJNrPqNfIg== X-Authority-Analysis: v=2.4 cv=JK82csKb c=1 sm=1 tr=0 ts=69a82e8e cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=nvRDalaNTaWZAukup-IA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: fyAscqCuXvMx1Lr-i6cXvZSnboDL8MBL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 bulkscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Add support for LPASS LPI MI2S dais in the dai-driver, these dais are used in Monaco based platform devices. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp= 6/q6dsp-lpass-ports.c index 4eed54b071a5..d31388ed3ccf 100644 --- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c +++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c @@ -96,6 +96,42 @@ .id =3D did, \ } =20 +#define Q6AFE_MI2S_RX_DAI(pre, did) { \ + .playback =3D { \ + .stream_name =3D pre" MI2S Playback", \ + .rates =3D SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ + SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ + SNDRV_PCM_RATE_176400, \ + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | \ + SNDRV_PCM_FMTBIT_S24_LE | \ + SNDRV_PCM_FMTBIT_S32_LE, \ + .channels_min =3D 1, \ + .channels_max =3D 8, \ + .rate_min =3D 8000, \ + .rate_max =3D 176400, \ + }, \ + .name =3D #did, \ + .id =3D did, \ + } + +#define Q6AFE_MI2S_TX_DAI(pre, did) { \ + .capture =3D { \ + .stream_name =3D pre" MI2S Capture", \ + .rates =3D SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ + SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ + SNDRV_PCM_RATE_176400, \ + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | \ + SNDRV_PCM_FMTBIT_S24_LE | \ + SNDRV_PCM_FMTBIT_S32_LE, \ + .channels_min =3D 1, \ + .channels_max =3D 8, \ + .rate_min =3D 8000, \ + .rate_max =3D 176400, \ + }, \ + .name =3D #did, \ + .id =3D did, \ + } + static struct snd_soc_dai_driver q6dsp_audio_fe_dais[] =3D { { .playback =3D { @@ -484,6 +520,16 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[]= =3D { .id =3D QUINARY_MI2S_TX, .name =3D "QUIN_MI2S_TX", }, + Q6AFE_MI2S_RX_DAI("LPI RX0", LPI_MI2S_RX_0), + Q6AFE_MI2S_RX_DAI("LPI RX1", LPI_MI2S_RX_1), + Q6AFE_MI2S_RX_DAI("LPI RX2", LPI_MI2S_RX_2), + Q6AFE_MI2S_RX_DAI("LPI RX3", LPI_MI2S_RX_3), + Q6AFE_MI2S_RX_DAI("LPI RX4", LPI_MI2S_RX_4), + Q6AFE_MI2S_TX_DAI("LPI TX0", LPI_MI2S_TX_0), + Q6AFE_MI2S_TX_DAI("LPI TX1", LPI_MI2S_TX_1), + Q6AFE_MI2S_TX_DAI("LPI TX2", LPI_MI2S_TX_2), + Q6AFE_MI2S_TX_DAI("LPI TX3", LPI_MI2S_TX_3), + Q6AFE_MI2S_TX_DAI("LPI TX4", LPI_MI2S_TX_4), Q6AFE_TDM_PB_DAI("Primary", 0, PRIMARY_TDM_RX_0), Q6AFE_TDM_PB_DAI("Primary", 1, PRIMARY_TDM_RX_1), Q6AFE_TDM_PB_DAI("Primary", 2, PRIMARY_TDM_RX_2), @@ -636,6 +682,7 @@ struct snd_soc_dai_driver *q6dsp_audio_ports_set_config= (struct device *dev, break; case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: + case LPI_MI2S_RX_0 ... LPI_MI2S_TX_4: q6dsp_audio_fe_dais[i].ops =3D cfg->q6i2s_ops; break; case PRIMARY_TDM_RX_0 ... QUINARY_TDM_TX_7: --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B929B311957 for ; Wed, 4 Mar 2026 13:07:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629652; cv=none; b=Clihd+3DJh8Mg1xwqTFClnZbWPQRIvfLkA32gKSnJ5F9KBPkadHJ10Ckg0ZCjiA2BCw75fEogrf5POnxa1xOHv/nW01EBhiK+sPEEQ2PiwZstclCKCNdsjVoZBU3H+jx/6jG1zOqe0JDJGEvfLgBl1yTNCWrxASF7J4BOeV3WcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629652; c=relaxed/simple; bh=m1EN4YpUgSj9UMxMClhVmL8iu5GkBIX3+L8UCDt7O0M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WyWrTXEHH9lwVcoEyn6dkVpiFBVWEWEHJe5LfxFWuJFjhtOye30Iu3z5yds003w+qiZEa3fnimis1OZNcLVPW9tfAc7zM2hO0zgLMRiolTT0fJIIwFpOtgo9nmoyBNmtw+6izAx2kjl5IYOv52RretZ8jcoDK+H0CF589CMmquw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=SRS2d3QH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ThArjhzf; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="SRS2d3QH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ThArjhzf" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6246D6F01203222 for ; Wed, 4 Mar 2026 13:07:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=pD/LO1GMq2Q S6g4Vc43eIA8IGXtM080UQe3gAPGBgKI=; b=SRS2d3QHWKCYpI/DSKEgEL29y/v UI7glZ5dUH4m5k8Q2PI7+3Byb27B1ORkOEOn/zOwe2S/qzaa4jy/6KcGkhGnN+Qy MEJUxvkv8FqpL71HyGeuaXAsXGFPLoWhGXGtzYbUNO1JeNWWhar++qb2jvJpukbK D49dl9L1l4bv9Xv+1XUY09InttwqEsY1vq91dQW8VapqaxxDLAKIcf+n1PMi0R/X VPJff03CUP1T8Y0QTp7wtytxNShcbVTkNMHjFYclnS/CMu1cIDN5VIgy46SqJ2BJ JaAyWXlVb4BApfjwz7WKgOsuhpEl2Ia5QxRh6XT8XrMa2DbSe8QTnheOEag== Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpf9c1a9b-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:27 +0000 (GMT) Received: by mail-qk1-f200.google.com with SMTP id af79cd13be357-8cb3ff05c73so4027133385a.0 for ; Wed, 04 Mar 2026 05:07:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629647; x=1773234447; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pD/LO1GMq2QS6g4Vc43eIA8IGXtM080UQe3gAPGBgKI=; b=ThArjhzfd4CrmUnkByQaz3cUtd+SfYBNVtpF0kKtBz4p8x7a+bKjvTPFJfVqXFyDkV 5ZJ60iVgh7w3uQlvTT0t1hqgiqHIy1I5CGtEocLIEv3SCNyXp3LQx+6NVs0fgFaBe9SR Cw7974X1T5B09dG+RrZXuujvjKdmdioxskRCZmniMn0uXdMy+zA+z4tNeahPrMWVzepC sBSw+wmcSgX0SDyo/E3zJhXF1UJ4U2mh6OgSrkmQAUb9csjQQDSizjYPLv8rEvsCFeZ1 BjlbziOlFwe7wwj2ta13xs82NT9+c6c6mUGBdW9s+EGdHDNDmp5QPyJatJeu8M4bZ1UI Iv2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629647; x=1773234447; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=pD/LO1GMq2QS6g4Vc43eIA8IGXtM080UQe3gAPGBgKI=; b=AL3Lwv+dJhxSw6wmC2LowxXWa5sovTgtBA8vRvYeMc/86TbIMzkgrKVivdQcBte1+O MhZ7nM5ilqF5qzY0Go8AEKtyRgiiLHBmYzmZ75DFKYCWlZJ0oWYF77k0TmJIHUERCSTh 7+YoLJhS4GM21CnxxfVJ8Dpf//1YaJVdRNCeYk2a7ubVuOrWh8nsPlC9SqEPuHr81UFJ YndG9cLum4aXfXGnuLo2/1EK9hbhUwuyWsVewR/4jX8V+AnYNRcWWqBfU5SQcyXEbaT2 oWcOa04CZZaVllP0RAtaeFUdiUsEdM8EE1ISVV7s3C8daNGWmW17j9RQngqQqbZofadS O9GA== X-Forwarded-Encrypted: i=1; AJvYcCXj8lqy1oGe5O/FkUs8dmasxDDLd1f2y1sdL/x62m95Vyn2FcrdHWpYkF3t8zY0jscXhVxNyez44L+BiCA=@vger.kernel.org X-Gm-Message-State: AOJu0YwtnNQmMZciLhH1k3RgFFB6Oic9SyCh9CyG0y875pikrf5eS/ZQ O5z44CD7p7dS/wvklN6q9DnOGvvv3sRKodOUvwoeIqN1W/A9phjd3dmYsq8OYGbTsJtErtu7g61 z/oHexDdALCekYYssGcGmMScbrtBSHk9XJrO2CACg3wy8XjzU7p3VgDnlgMHddSobTes= X-Gm-Gg: ATEYQzxsHoerIgch2pwNLAQerBUXc3uCumLNg+kGYxsccgck50KYicf9TdUOmkuA+Bl 8nNtBJdqqWti/36yqjrPoF+MvG4a0py05+oNKhFhr6ZGoFrkKhsKunwLgr0WFXziXPTRBJzJjAu rGSoFTsXtxorKFhUUZz/yrKs4Q6XZYR2xFGAAKFXUTmftX3toU3+FLfQ2NBFaG65c6pTV9LPFAZ ml6T57u/4Romz85S/ea95pEeJNTjKxT4k9hz6WZHt8K6i/n92vjAh6Jw0Glce7xjLYzOrcQzJNR lo7WByBUuHvD14ncHb/I3HP6DL0rKIVT8g6CIOYUwdDExt0Pirui94xPuZVsjKBEeqwBIye7UY5 siouGuDjEFbUV/J335js68ZjQ2hPa/ZNijaOay99RXHAa0v/XugN4bYk= X-Received: by 2002:a05:620a:28cd:b0:8c7:1b3f:7d0c with SMTP id af79cd13be357-8cd5aecb2c0mr225098185a.16.1772629646987; Wed, 04 Mar 2026 05:07:26 -0800 (PST) X-Received: by 2002:a05:620a:28cd:b0:8c7:1b3f:7d0c with SMTP id af79cd13be357-8cd5aecb2c0mr225094485a.16.1772629646542; Wed, 04 Mar 2026 05:07:26 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:26 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 08/14] ASoC: dt-bindings: qcom,q6dsp-lpass-ports: Add Senary MI2S port Date: Wed, 4 Mar 2026 13:07:06 +0000 Message-ID: <20260304130712.222246-9-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfXy8ZnUKnVhDCE w+yfBjMhdix3lWY97XyyDLj9QQt5YngU6nOudd4KPmYw4ihIZWdvtYh2IedfA/NRTzrmBcrxuaf NcxfMe4inpbCy4Ie+iJ2yIuCeKV/B59ksHnb0bBNbqPgFsNAdP1b719RS4jYVIpPv3xBwRegNss 01z5yz54Iib+i5ruLmYgPRv3TFUA3Bgs4FL8od0Hg1jvhtaGEMJAQ2Q4vW1IiD4Y6zV9SY4/MJU yGO3tIQLtlR8LsWRdeMuq+G4WOSqvtd5nc8/o2RJzzx1+Fon+2IYqn2Uy7MTXUhbgnq1Qf93uZ6 NsdPt6YAOhnwlfbzO3hdn1y0VimXPkT3Hj8CvPS5iyIFXeVRPilBBwQPCSnFPHMeKN2u+Hb5jeW vhaQl0zsEBmUfebHZ1i1G5r0idDGGZD1NCp5NymH6u6WPJXVAxwaWqpKt1m0kTolIWiRXDRB/t8 m6+aaEj6ojpiLWLv8UA== X-Proofpoint-GUID: 7WK73ZO08O7qoI0C71GAqtgyNpOFPy02 X-Authority-Analysis: v=2.4 cv=S4LUAYsP c=1 sm=1 tr=0 ts=69a82e8f cx=c_pps a=hnmNkyzTK/kJ09Xio7VxxA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=S1r85Wze4wKqmHhc2Z8A:9 a=PEH46H7Ffwr30OY-TuGO:22 X-Proofpoint-ORIG-GUID: 7WK73ZO08O7qoI0C71GAqtgyNpOFPy02 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" From: Mohammad Rafi Shaik Qualcomm platforms support the Senary MI2S interface for audio playback and capture. Add a new definitions for the Senary MI2S RX and TX ports, which are required for boards that utilize the Senary MI2S interface for audio routing. Signed-off-by: Mohammad Rafi Shaik Signed-off-by: Srinivas Kandagatla --- include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h b/include/d= t-bindings/sound/qcom,q6dsp-lpass-ports.h index e27a31ece1f2..45850f2d4342 100644 --- a/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h +++ b/include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h @@ -150,6 +150,8 @@ #define LPI_MI2S_TX_3 144 #define LPI_MI2S_RX_4 145 #define LPI_MI2S_TX_4 146 +#define SENARY_MI2S_RX 147 +#define SENARY_MI2S_TX 148 =20 #define LPASS_CLK_ID_PRI_MI2S_IBIT 1 #define LPASS_CLK_ID_PRI_MI2S_EBIT 2 --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 30B91361DA7 for ; Wed, 4 Mar 2026 13:07:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629653; cv=none; b=oT5WJmiXla0+tsGJP9DWBjZ+pBoaLVx0RbJYrTh7+7ncwH81atBXaTVoR/2gVTggu2/QCEH2axsH02c8xoGOW7/oIZ+Rsg8+kR3a3vdE5Gu4PcF2gfoaFy33PNY/e74WZ9KqGfjtAMblUmFyhSDxGJvaDWyEe2bz2lMOlCb74nM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629653; c=relaxed/simple; bh=nhF962DJ35ZnGtg1Nyn29ALPxXwZIXyRUxas4dLT8SI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HSDlD+jmOXnSFpkfM1/GgW609shqHrqlplwO8X1c410HOVULhr56pc/f+U58nU8P3h25kOU5eywIsam4ZRProLruw2o4fWhnv9wWlavNZzd9h6bp7HZGR2MWPA3S18NtNA8aMdADcw1oNXYVgX+P5P/5WxS2oqzd/kifGv70k4Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=AUywukej; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bQwZ9uqy; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="AUywukej"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bQwZ9uqy" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6249smSI1213363 for ; Wed, 4 Mar 2026 13:07:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ZsyVHtwoLDk /xLA/rwLKIW8JVwySpk++YyIKH0BTOlA=; b=AUywukejqM4AUpWyuRd0dpMJlbm n3giRNHOwspYLWBNAkWz/THBbrhI8ocF6mYS0VSbSv7MtyyKZ9/qTi0gM+JIIn/e vsR7chu2TLt/Ij2GsnnEYopxb3U96rdc5hfsGxd0nC3nc2Fd7Mozg5qR/tPXtH1D vBFBJAcUaLGkl+O8+wYb6iqyWJW1AUapd51FnWaG9ykLRr6ICQU1gzOBHBfku+jy lKahgWtqt8tE0TZE0vBw8dHZZDag5Y4IkDBVcnX6jM50+rm3vrtH9i971T+3XnJr O3KOrZBZ/YlgUiLix8RR1mJ87xdmPeE3bCo/Ztit/wRuR/1kdW4RF4AXcuQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpjh5rhp4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:28 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb4817f3c8so3770981885a.3 for ; Wed, 04 Mar 2026 05:07:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629648; x=1773234448; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ZsyVHtwoLDk/xLA/rwLKIW8JVwySpk++YyIKH0BTOlA=; b=bQwZ9uqyykMbhHNMq6JGnv9VUKM0y66HXHg+NaPmQwcvjH6qCFQ8FPrhXLCFf7RsM7 kSTRHb9C3NbMv6zlECpPn6tVK6RLnK9LTCUasfn5fzfJCMe5k0PxxuVHX3U5h34ZyTEq hYpXR2R6T3QoVpbBRUffaeJoMknQMtC0FMYN7sLNvOhjX0DiK15+v0y2WK2m/rOqts0F MI4f8RZLVwXSsYCqHVobXOw+F7U4NpayTW6N431cgyGA19t7yaD8/uLye4qBatdnI3OZ r81Wu5N7iOpoucijjlH23Ak3/P7LNMHYkbQUeIWzPQ48kf0cWtOzuZvg7WTQN9GPq9ff Qkmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629648; x=1773234448; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=ZsyVHtwoLDk/xLA/rwLKIW8JVwySpk++YyIKH0BTOlA=; b=i/TOKTMhjy3guJqPua9Y+36lWlGJzkaOgdV54L6p3piuncYie6A8MaaMcSirp7hft0 xppZcJBx0tf1B9JbFqNysWQqaolHH0qDmR65XkcDtr16Aaf1yv8TqiEBqEI/ml4Seamf HTPsy7KE2rOWQ8eLHevtoXJSHrPWs7JnEh63A8CvXjQOOMKv58zwIi8yLi7URv7Lol4M UfrhKiGElcqlGr6n+acEUSLBbsX6NxkEPhrQXgaoMZStINeiXJS95AedgtArqO80NCtY 4KwBto4Lr2dOASVINpIGNfdsu+8YR9gX1hj87yfDp20WJ+3iYH18TwH31bzZhUVIdkhC Zt+g== X-Forwarded-Encrypted: i=1; AJvYcCUOtZmKJjkvrxbpdUECUrXFYIHQpFxT0QrRq0prwu+5zc6G9ffPfZrEb7hUIMNa7QImRIwzTrFHCAvrCIw=@vger.kernel.org X-Gm-Message-State: AOJu0YxSxCzHulAHnZhilsf5KbJHm+DmhYrQg6z45EqvO5LCuGB2xv+2 ZaisUMV45usWQgGi8QPEWZOCAJmgN7vI0zqPANVWdV6wcimI76KNID0zcIbr3JXljyMYqZNaOdC fMMJ45xn4IlW/peLdVEcWbS/eX7wka/5saPyv9nrYqp2WBNzTBjbCEydkaD+ArZGCbMA= X-Gm-Gg: ATEYQzzynE+MlvtpbH1bKLkQCGkh+IgdQbBs2TIgH/lGP1LQO9rSV3OKNHPim4QW44W OXh5BYh+COOwm2c8bO7NdaJm4zDSXjXMgFyYAuWQZzrRycWJq8WE5sPVqLQ2g9SKXAs9Lq9XWFe XY5gEqjESVoolZy8RDRGGUvTji5mLaWqXTMGx1vV8SITUr7CwJU8r6lvskeywtMfgBc3p1lJ9+L 8KjHS2Wqbnl6dkVic2ZUd3LktyDbUIlV6O/Qz20UmN3JvX7RiC8LjAnUwUBbaBBmUXafDQTA8p6 tOm12AOuFMyzd4ksos50qsSr2mC1hgwlpAOVk/fnfNUu1h1Oa73FVa5BSDyO9WKEDrdX7zl1y+w T3aHhaPQn52gQuNAvcpNwzkRBTDGZSUIM72p6wNvHb/koXCvkrliV2v0= X-Received: by 2002:a05:620a:28c5:b0:8cb:d9a2:1347 with SMTP id af79cd13be357-8cd5afa3f2emr198723485a.57.1772629648192; Wed, 04 Mar 2026 05:07:28 -0800 (PST) X-Received: by 2002:a05:620a:28c5:b0:8cb:d9a2:1347 with SMTP id af79cd13be357-8cd5afa3f2emr198715885a.57.1772629647565; Wed, 04 Mar 2026 05:07:27 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:27 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 09/14] ASoC: qcom: q6dsp: Add Senary MI2S audio interface support Date: Wed, 4 Mar 2026 13:07:07 +0000 Message-ID: <20260304130712.222246-10-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: iButM9lSW367zvH7HmU1jw-o7Zy4ei3j X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX3OF8tJkyWFup gVvCkcjSltXR80F/A6DqyqACT1gsPmeCsO3n6cWfaf9ymu62Iv9aFnAxpiSeyESj6+ITDhPHb03 A459MtBv0o7s30Cg3oS7BnB3UmyOIx8aFE8/G9hv/shwK6hSwzOgxGXZPMJEX7+UI3W07NBeOMt uGSAeB8IJ1VoJqRrboX4z0OvyaqUulDiQOWl/d4xzoHiPQi3XlvvtHNEjdOyZFyFRSfI0Zg5mz2 rs3lpqi/saQHjSklhQ1kCPi+DKyERQS2e1APH8LiEKOYzeq21nLcISkC1zvemHvgbcIkNlh71XR +6UT7ofoUoyAVmrfrkGcWIbFjsKrDSJfeuz+ZRfKKt0xVueCGh1UrwfY8R6qNs5dLY9LTTCHrZA B2Ednv4XBZQtFDw6Od0wPk4DXfrIJE9UMss3Dt/7llKbxmqBKu9U5TCjn/etifq/3eaR5swShyh jfyh6reFqpyqyKkY4kg== X-Authority-Analysis: v=2.4 cv=JK82csKb c=1 sm=1 tr=0 ts=69a82e90 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=aBFzMgE2VLA-TvnT3JMA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-ORIG-GUID: iButM9lSW367zvH7HmU1jw-o7Zy4ei3j X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 bulkscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" From: Mohammad Rafi Shaik Introduces support for the Senary MI2S audio interface in the Qualcomm q6dsp. Add new AFE port IDs for Senary MI2S RX and TX and include the necessary mappings in the port configuration to allow audio routing over the Senary MI2S interface. Signed-off-by: Mohammad Rafi Shaik Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe-dai.c | 6 +++++ sound/soc/qcom/qdsp6/q6afe.c | 6 +++++ sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 29 ++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6afe-dai.c b/sound/soc/qcom/qdsp6/q6afe-= dai.c index 0f47aadaabe1..a0d21034a626 100644 --- a/sound/soc/qcom/qdsp6/q6afe-dai.c +++ b/sound/soc/qcom/qdsp6/q6afe-dai.c @@ -409,6 +409,7 @@ static int q6afe_dai_prepare(struct snd_pcm_substream *= substream, q6afe_slim_port_prepare(dai_data->port[dai->id], &dai_data->port_config[dai->id].slim); break; + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: rc =3D q6afe_i2s_port_prepare(dai_data->port[dai->id], @@ -540,6 +541,7 @@ static const struct snd_soc_dapm_route q6afe_dapm_route= s[] =3D { {"Tertiary MI2S Playback", NULL, "TERT_MI2S_RX"}, {"Quaternary MI2S Playback", NULL, "QUAT_MI2S_RX"}, {"Quinary MI2S Playback", NULL, "QUIN_MI2S_RX"}, + {"Senary MI2S Playback", NULL, "SEN_MI2S_RX"}, =20 {"Primary TDM0 Playback", NULL, "PRIMARY_TDM_RX_0"}, {"Primary TDM1 Playback", NULL, "PRIMARY_TDM_RX_1"}, @@ -636,6 +638,7 @@ static const struct snd_soc_dapm_route q6afe_dapm_route= s[] =3D { {"SEC_MI2S_TX", NULL, "Secondary MI2S Capture"}, {"QUAT_MI2S_TX", NULL, "Quaternary MI2S Capture"}, {"QUIN_MI2S_TX", NULL, "Quinary MI2S Capture"}, + {"SEN_MI2S_TX", NULL, "Senary MI2S Capture"}, =20 {"WSA_CODEC_DMA_RX_0 Playback", NULL, "WSA_CODEC_DMA_RX_0"}, {"WSA_CODEC_DMA_TX_0", NULL, "WSA_CODEC_DMA_TX_0 Capture"}, @@ -770,6 +773,8 @@ static const struct snd_soc_dapm_widget q6afe_dai_widge= ts[] =3D { SND_SOC_DAPM_AIF_OUT("SLIMBUS_4_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SLIMBUS_5_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("SLIMBUS_6_TX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_IN("SEN_MI2S_RX", NULL, 0, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_AIF_OUT("SEN_MI2S_TX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_IN("QUIN_MI2S_RX", NULL, 0, SND_SOC_NOPM, 0, 0), SND_SOC_DAPM_AIF_OUT("QUIN_MI2S_TX", NULL, @@ -1037,6 +1042,7 @@ static void of_q6afe_parse_dai_data(struct device *de= v, =20 switch (id) { /* MI2S specific properties */ + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: priv =3D &data->priv[id]; diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 43d877322bae..7bd40e32f758 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -130,6 +130,8 @@ #define AFE_PORT_ID_QUATERNARY_MI2S_TX 0x1007 #define AFE_PORT_ID_QUINARY_MI2S_RX 0x1016 #define AFE_PORT_ID_QUINARY_MI2S_TX 0x1017 +#define AFE_PORT_ID_SENARY_MI2S_RX 0x1018 +#define AFE_PORT_ID_SENARY_MI2S_TX 0x1019 =20 /* Start of the range of port IDs for TDM devices. */ #define AFE_PORT_ID_TDM_PORT_RANGE_START 0x9000 @@ -718,6 +720,10 @@ static struct afe_port_map port_maps[AFE_PORT_MAX] =3D= { QUINARY_MI2S_RX, 1, 1}, [QUINARY_MI2S_TX] =3D { AFE_PORT_ID_QUINARY_MI2S_TX, QUINARY_MI2S_TX, 0, 1}, + [SENARY_MI2S_RX] =3D { AFE_PORT_ID_SENARY_MI2S_RX, + SENARY_MI2S_RX, 1, 1}, + [SENARY_MI2S_TX] =3D { AFE_PORT_ID_SENARY_MI2S_TX, + SENARY_MI2S_TX, 0, 1}, [PRIMARY_TDM_RX_0] =3D { AFE_PORT_ID_PRIMARY_TDM_RX, PRIMARY_TDM_RX_0, 1, 1}, [PRIMARY_TDM_TX_0] =3D { AFE_PORT_ID_PRIMARY_TDM_TX, diff --git a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c b/sound/soc/qcom/qdsp= 6/q6dsp-lpass-ports.c index d31388ed3ccf..e5cd82f77b55 100644 --- a/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c +++ b/sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c @@ -519,6 +519,34 @@ static struct snd_soc_dai_driver q6dsp_audio_fe_dais[]= =3D { }, .id =3D QUINARY_MI2S_TX, .name =3D "QUIN_MI2S_TX", + }, { + .playback =3D { + .stream_name =3D "Senary MI2S Playback", + .rates =3D SNDRV_PCM_RATE_8000_192000, + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, + .channels_min =3D 1, + .channels_max =3D 8, + .rate_min =3D 8000, + .rate_max =3D 192000, + }, + .id =3D SENARY_MI2S_RX, + .name =3D "SEN_MI2S_RX", + }, { + .capture =3D { + .stream_name =3D "Senary MI2S Capture", + .rates =3D SNDRV_PCM_RATE_8000_192000, + .formats =3D SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S32_LE, + .channels_min =3D 1, + .channels_max =3D 8, + .rate_min =3D 8000, + .rate_max =3D 192000, + }, + .id =3D SENARY_MI2S_TX, + .name =3D "SEN_MI2S_TX", }, Q6AFE_MI2S_RX_DAI("LPI RX0", LPI_MI2S_RX_0), Q6AFE_MI2S_RX_DAI("LPI RX1", LPI_MI2S_RX_1), @@ -680,6 +708,7 @@ struct snd_soc_dai_driver *q6dsp_audio_ports_set_config= (struct device *dev, case SLIMBUS_0_RX ... SLIMBUS_6_TX: q6dsp_audio_fe_dais[i].ops =3D cfg->q6slim_ops; break; + case SENARY_MI2S_RX ... SENARY_MI2S_TX: case QUINARY_MI2S_RX ... QUINARY_MI2S_TX: case PRIMARY_MI2S_RX ... QUATERNARY_MI2S_TX: case LPI_MI2S_RX_0 ... LPI_MI2S_TX_4: --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DB6639B946 for ; Wed, 4 Mar 2026 13:07:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629660; cv=none; b=fidrbi01BvRvNOJvYtjDIsNFcKhge+3tKw50jIoGkalGUhFG5x/6ensV/xLepI3ahpq6bNzBBo5xRQ4Q8vwq7HgbmwClDvIKozSkEyRqc6L69yf0rwSFGIll6mNANEs2wNqGAOhnAgv/s8vJDnP5taUwxoOT2IUWcaltLPYS6Ng= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629660; c=relaxed/simple; bh=sljgOhpaU8wHMtLfJBiR4fUV3hNt3/HmvH6kZPwy9as=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=crQrCvVqo09zcw6Kmd7OfvCMcqXmesbsMfos0WKRBADQNcDq2BICjzVqwbhwEWJ5JK1CFt63CfBIDQQZEKdmMOLDrp73BFjvqVfOb1SdOrIw6yV8APXE+ob1YhFjBZ1jDNAeMHhhJprI+RNotnekFr5AwD2VFXeSRfYvbO6rYRs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=hTwiyvl3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Jpd3WMkd; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="hTwiyvl3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Jpd3WMkd" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6249KuE31456217 for ; Wed, 4 Mar 2026 13:07:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=79Hssidv5J9 yhS1Hc5RwtLaxh/YVdwsl6nwkjjN6Bow=; b=hTwiyvl31OaC7ApzylVMWQsVubV 4U6Z/UUXpDl3dlYAyeX8nkLZ1MWamba3PIqec9PNZrFX5gOgns3kfstv0zqNYS2N C+OS+Ucb09yIWW0ZtyDMe6ZO4lmwZevL0NNhw3FN88M4tjfb1tqY2/IiQ0JVCMKy lxJcz3XAGhATaNOtLGkvVn/CJIpLkHcTRKu7aNy7g7vg289pk6k3rxUGbGL9SYxj 2t45hNWNB9+OZw2b7U7JyYCrtYI9FsSABfOHz31+rA2l7JisWyfXtiHFcTcRhuH5 8rPJCFq4FFRJWDkIOVRzyZRSgCpVJMSFJUAFNZrc2ugmAQm7zGseXVKvbYA== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpj180n4e-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:35 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8cb4d191ef1so880745985a.0 for ; Wed, 04 Mar 2026 05:07:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629655; x=1773234455; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=79Hssidv5J9yhS1Hc5RwtLaxh/YVdwsl6nwkjjN6Bow=; b=Jpd3WMkduXYW4/kARlwwIesKU76kTV2Ie7n9E39INm5Sf6w4sSAD9akqv/212DysJL VvWgMBmYXhpfBSA+FpRHN0eQYyMs12QIO++tlRFLAiswdeDZc0Zypr3CXU4CyuA5tKXA PGToI0j6HK4sEcW34hmMqc0CQ4P4T6E3ZX0rq/04ENOo4NbYtyI3LGcXXHph7MwC9jr7 1/hV2OUR1eprH+Q1tNL0dTGvU/vfncpL2vVxexadWIOJicLaU5W+vQIOAs0EDUXYFnBi ezcNGMPZR3E6fQghQx/DpSvJJYfEdjpx1yLH4r7k0IY0kdiQrajr5c2ert7w7HaLldQA d3zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629655; x=1773234455; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=79Hssidv5J9yhS1Hc5RwtLaxh/YVdwsl6nwkjjN6Bow=; b=t1xJDOO3zIQ4DMKvN4lK+ITEUuT/gT4OWfhoXbIaA852Gg+kT/G3Ixjf5KE9eSzq03 s9r6x88hNczZjCjfnExTQA2hYh+ntSHpblJZDX3PTuwgZ2h4pILbYwUClqygo79GICwI OYZZOFbQR/Ls8e3+38+LAxYOghFYD1meRzUNWCY4FWIBiBAQNmWiZg9s31uDrHUYlI90 7TZhYpPpGTawphfM/y48G0VKWopkyay40gIGC1uHts36qGzGiFHZTe56mo1CzzYF+I2l ZzW1xQjpDJ9k/Dr6ELFL/m+NXGZ+dzdjNgHLy2hfHtWxvMdSZVJCDLy7s9ix3IFyK6xI TFqg== X-Forwarded-Encrypted: i=1; AJvYcCU86d+lBkIL+JJ4PHIjfGUgBjfiPDKmwXaW1e5kG+RnPDsh98eWMa9hAGEmCT+YULrPffR+mLu9XvCupd0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+BnhwRaiqODC9d6ANWTs1X4j/eKZilTcGcjJMH1L6IkRE+jIQ F1yAcDAjTHSBf0JuD+hoJaQ8VgKgUv3q2VH4a5YHnkUiiI0GeyaKBuONo1961JI14GFYHdbnKFS rdh3ApEbUQBGrps/8y4/Ne9MENTXEWsWA9GcBg1npivYrDUgk3y67BtCLQhgg59aM2dA= X-Gm-Gg: ATEYQzy+GKcTTvlPjiR3e7aaC5/HiVyRfXTr/LyUpLAWEvRjvfLlbthzgJ/4OMZ50l5 Tnmluuo437jH2SqfjW3DVsvvoxVZLu2UzHk0Jd3RMH9xme0ECIwQK9JqCTzGyf8qEEjl+fEmm6h gmxTOELJx/eNRWFDzvWsVYSIFYVAaDAjXDq5DgGJ+7BwZjupf2mgTmo8rPJU/cYh30OfukAJgt7 j49Ix5m9s4qKZR8vz8PCvGOEF/HsMaCk4Atk/5qTK1/mbeKN6pE3b9AGT6WWeIt7yOx9Ca+fGzk ZmMfbbI6lQA85j9clh5iKHAndCvs8cfeh9T984eRyI4nqjpK+Wu9J/O9TIdJZMdsdHPago9RBy6 bS2U3qe+3QP5Rl5elujA5WLVQoa+rApli8o33N3c1lCElxQIbEB+IpSU= X-Received: by 2002:a05:620a:290d:b0:8c5:38c3:7cca with SMTP id af79cd13be357-8cd5af0dd89mr216126585a.31.1772629651985; Wed, 04 Mar 2026 05:07:31 -0800 (PST) X-Received: by 2002:a05:620a:290d:b0:8c5:38c3:7cca with SMTP id af79cd13be357-8cd5af0dd89mr216096085a.31.1772629648720; Wed, 04 Mar 2026 05:07:28 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:28 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 10/14] ASoC: qcom: common: validate cpu dai id during parsing Date: Wed, 4 Mar 2026 13:07:08 +0000 Message-ID: <20260304130712.222246-11-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: tJaJK-IJUbvcMMAXmM4t3t8QWmHCtwck X-Proofpoint-ORIG-GUID: tJaJK-IJUbvcMMAXmM4t3t8QWmHCtwck X-Authority-Analysis: v=2.4 cv=Ed7FgfmC c=1 sm=1 tr=0 ts=69a82e97 cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=FTFSxu1yF2iZ1NjiFwcA:9 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX9zRtDNylZnkj jGo6aoCCT1MDdkwGCiei3HDkDWTKXnEY+45Q5ekv6mvemXUsl54USe565asO+Vy7tTo1N4WoYrp ipEdZ4SS9pjkJiPVrpdvflBw59Ja5bNa8jJHC7T10vjsIhvSKC61ZwBeZKPANhl4sErw4LBEur/ ZmZ6oIHsq9jncHmCcT28SBR/hieJg22b3nJLTYRjIrVAIhxHFvYomShw8AKv5IT+aq4nCt1ARqs KaG/swZFdsc+zVQu0AmTVvyw7b1g2M4p2sS3ZBPKgtC/z79nZWO9CcJoBCr5qwlNinLNXwx9WKi o7YQ+EVjt3TDOdDrVYZweP1sJv7QE7KgXy8Sbl+aTlQEW5UOIuLbQmoZE35CBWaX7qjOPsPAslM OpiWziFPQ3E5ChOPFsZGFHd5U3EzBYyoJpKfJ75ZJ7z9/Wdd7yirMCTi+Ys1w2n23zglt9DpIaT AkFqKXUjOOrEhtlWBxA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0 spamscore=0 adultscore=0 lowpriorityscore=0 clxscore=1015 malwarescore=0 impostorscore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" lpass ports numbers have been added but the afe/apm driver never got updated with new max port value that it uses to store dai specific data. There are more than one places these values are cached and always become out of sync. This will result in array out of bounds and weird driver behaviour. To catch such issues, first add a single place where we can define max port and second add a check in common parsing code which can error out before corrupting the memory with out of bounds array access. This should help both avoid and catch these type of mistakes in future. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/common.c | 6 ++++++ sound/soc/qcom/common.h | 3 +++ sound/soc/qcom/lpass.h | 3 ++- sound/soc/qcom/qdsp6/q6afe.h | 3 ++- sound/soc/qcom/qdsp6/q6apm.h | 3 ++- 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/sound/soc/qcom/common.c b/sound/soc/qcom/common.c index 7ee60a58a336..878b42babcc3 100644 --- a/sound/soc/qcom/common.c +++ b/sound/soc/qcom/common.c @@ -120,6 +120,12 @@ int qcom_snd_parse_of(struct snd_soc_card *card) =20 link->id =3D args.args[0]; =20 + if (link->id > LPASS_MAX_PORT) { + dev_err(dev, "%s: Invalid cpu dai id %d\n", link->name, link->id); + ret =3D -EINVAL; + goto err; + } + if (platform) { link->platforms->of_node =3D of_parse_phandle(platform, "sound-dai", diff --git a/sound/soc/qcom/common.h b/sound/soc/qcom/common.h index 1b8d3f90bffa..ee6662885593 100644 --- a/sound/soc/qcom/common.h +++ b/sound/soc/qcom/common.h @@ -4,8 +4,11 @@ #ifndef __QCOM_SND_COMMON_H__ #define __QCOM_SND_COMMON_H__ =20 +#include #include =20 +#define LPASS_MAX_PORT (SENARY_MI2S_TX + 1) + int qcom_snd_parse_of(struct snd_soc_card *card); int qcom_snd_wcd_jack_setup(struct snd_soc_pcm_runtime *rtd, struct snd_soc_jack *jack, bool *jack_setup); diff --git a/sound/soc/qcom/lpass.h b/sound/soc/qcom/lpass.h index de3ec6f594c1..68b71039b981 100644 --- a/sound/soc/qcom/lpass.h +++ b/sound/soc/qcom/lpass.h @@ -14,10 +14,11 @@ #include #include #include +#include "common.h" #include "lpass-hdmi.h" =20 #define LPASS_AHBIX_CLOCK_FREQUENCY 131072000 -#define LPASS_MAX_PORTS (DISPLAY_PORT_RX_7 + 1) +#define LPASS_MAX_PORTS (LPASS_MAX_PORT) #define LPASS_MAX_MI2S_PORTS (8) #define LPASS_MAX_DMA_CHANNELS (8) #define LPASS_MAX_HDMI_DMA_CHANNELS (4) diff --git a/sound/soc/qcom/qdsp6/q6afe.h b/sound/soc/qcom/qdsp6/q6afe.h index a29abe4ce436..0b8c3ec1315c 100644 --- a/sound/soc/qcom/qdsp6/q6afe.h +++ b/sound/soc/qcom/qdsp6/q6afe.h @@ -2,8 +2,9 @@ =20 #ifndef __Q6AFE_H__ #define __Q6AFE_H__ +#include "../common.h" =20 -#define AFE_PORT_MAX 137 +#define AFE_PORT_MAX (LPASS_MAX_PORT) =20 #define MSM_AFE_PORT_TYPE_RX 0 #define MSM_AFE_PORT_TYPE_TX 1 diff --git a/sound/soc/qcom/qdsp6/q6apm.h b/sound/soc/qcom/qdsp6/q6apm.h index 7ce08b401e31..5cf538397841 100644 --- a/sound/soc/qcom/qdsp6/q6apm.h +++ b/sound/soc/qcom/qdsp6/q6apm.h @@ -14,9 +14,10 @@ #include #include #include +#include "../common.h" #include "audioreach.h" =20 -#define APM_PORT_MAX 127 +#define APM_PORT_MAX LPASS_MAX_PORT #define APM_PORT_MAX_AUDIO_CHAN_CNT 8 #define PCM_CHANNEL_NULL 0 #define PCM_CHANNEL_FL 1 /* Front left channel. */ --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2BA0370D72 for ; Wed, 4 Mar 2026 13:07:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629655; cv=none; b=sN1bo6AH6fFMhWG2Iljx/6SYyzq0HgqZ2TU93UmFNzSC/nmSAJNU3lUCD6yynvx9gwyV40WV4LokViFwt4x/UZWpaGfwGM9ZOcHSlJhvtSJ9zEqn/GDAiDchFUDejs+1jp7CvMWhOqxIcGMiu1fgJvVlrOZfnrvWBhe5HpYfb+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629655; c=relaxed/simple; bh=iafQmWDeFIqwxoTztlKqMCFwj+DaAdYsFKAlvo4MX7E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QnKY6rGHkDgIA0MzgpBvzmMKwYRtpKEP9R1ec2c24ZDR+MjGSTPajIvTpwpyvRvkDT76GOeG+AtiXdlgENL2FTPyCK02FDYh7kPdRSIOzykttNK43rnXyh3f63g+dRA9SmbIQv5AHjgMSFABaR2OhgaU+oyh7ivhsGgjqgPGhhE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=XOlRJTNo; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FafwtGyV; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="XOlRJTNo"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FafwtGyV" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624C7Wr93110358 for ; Wed, 4 Mar 2026 13:07:32 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=lh8JDFjF3Cp /56/LC7QnjRtBGIXDKJonxwqRjjyCPMo=; b=XOlRJTNoBfXKSla9ZelgkxoX0U4 u+6LcnOCzSs5aA8pblScN0139MWEeEPVdC+d/qI+i1cSDV2U+eNgxkrNWQN+HFTm dK3Fp0+7IZTbnu7FXiCCvO1LgskMHxprmq8/64urTd4BBigHGjhQjhuLYM6Fmxbk mUGqW062nmoMcjPqGCNspLJUmpusNtOdoZN1XnvmarLKutGR08kZ1T7/RmwJjH2x IB1unL7slbIY5pzlhzYjmJUYJtIXDf4L7vxhiYUQJov5b57hbRcQ0DX8AymHO+/Y fBms++3VBaaO+Tu7rCBCwgLhlakuoq8LGsIyNVn2iGCeN5x+pV3pyTBzPjQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp5h2b7rs-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:31 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c70e610242so1062355685a.2 for ; Wed, 04 Mar 2026 05:07:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629651; x=1773234451; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lh8JDFjF3Cp/56/LC7QnjRtBGIXDKJonxwqRjjyCPMo=; b=FafwtGyVF/666/G+0lNMwDaOmskgQqPYvNJUR6qjZy1uo9UBDXWZtqJ8iWWGUZu+IR T6PHOGHcFhVyT0tmuRbgdYe7DAuxbGuMZOOQC4wYQ5wR5+cmJyNZ3QAJ3S93P/I1WLGT nyoeUwb+CiT/+37F+QSIxXb4pdnKQdIn2UUdl0s0ldRRYR0bqR1Kn2Dd1FKPy2VUebid a0yJKpdvTfz3B7IqSC03o7LjkOzQOWhtz7vR5MYWIWqJ4yqlRom7h9GMd7YLf0oZ6mFj p4TSlfjdueUiZ6UlW0LNtsQ6gtWr4LjGstNBrvr1ZGsUm8SHV0s/t+gFs53mEJ1POoi/ l3bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629651; x=1773234451; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lh8JDFjF3Cp/56/LC7QnjRtBGIXDKJonxwqRjjyCPMo=; b=w/vuBl6cgb0Wl/slddG5S82VKVi492JJWSaYdLEI2FLsPDIEN73asX/6KtIOjAuAkj Y7EBvrfEPFs/6u+0hsqjPYngOFsL9yyCpZSLAUMg9gbPBVDqNpWoOzxB+IyZjztDnb+Z vrZjwc1jRlanLVM8+FZ/SujB1dSQLhUz4jzLLPtQC2mIdzcbNzVnYidtfYLT6Ogany+g 6BvyHpaIOk8fghzDfwk5sz5gSbCKkac5Xo+WnzxaoRcbFFEEZ+JkXg2qYtFztt2WyX5t vaqDKZDKqLPfgXRjpXIBZx8ocm6CP6yrR4vFtqS3tw03v52NKbGdxDj0/v3ewtrftEUH sxmQ== X-Forwarded-Encrypted: i=1; AJvYcCWJ5KWvuQAP/I/ai4LZlPWQCYYO8Qbz6ILg5q40qHS+Zus5kcclYT8Q9Qe1Wfu7aqT0XcVGBVnrFjy7dx4=@vger.kernel.org X-Gm-Message-State: AOJu0YzDf48e2f3T0GKpV+GjEh+LiTrV5aHH7XDXNJtOYjg7RhazMKyu rK74KDhJ3YngnrZ7Z9s2auZ2olrP2HeUcHvpyXsn+jr0o1BBquBTCTxHVjaLR42p6q2mvRRmXQ7 KF5jR8C3pxs6q/CHFot3OfxQKJRZqCPchL3obU3FNNYrPXcbeLcLrJrgPf7UIyqyVfQ0= X-Gm-Gg: ATEYQzw84lTGzN4F4lYPN+bV7oQBBk1N6YFlwVfOscZticT/JLGYMKiH6e0PjBtV1tK oqWnCYMuO7SECkjT42QzeKQYKOeOu9QGmNkPo8zqVfLQ5q+oFYxtcvgMtp2I5G9GDc6G5Kn1IuN HAFScLV6THNJ+rESvLKyuHpYjiCliVcacFhd/A1SfSnfn2sNxT/lD+Shdzw0v3a3Zs9sfXZePhS 2G7O8TPHP6wJXqbvklZkeQK03mBMGih6qqYgoI07li0twPxqTeeWoUZ6ueGlJT+wehU1EjbaQTR GDPXHM6asMqxH8f9/V6ZgK0oEBikcCjDmW8KPipiCuaCZsOLeTpC7gtU0v/zkn/XBeiiZsCBom7 XKXCz/JEoC0rA7YmRwHvJEzyUCS1gPGjHnad9jnZ5RjxtYHG8/qkEaNI= X-Received: by 2002:a05:620a:4155:b0:8ca:2ba8:b988 with SMTP id af79cd13be357-8cd5af80326mr235748485a.41.1772629650934; Wed, 04 Mar 2026 05:07:30 -0800 (PST) X-Received: by 2002:a05:620a:4155:b0:8ca:2ba8:b988 with SMTP id af79cd13be357-8cd5af80326mr235743185a.41.1772629650444; Wed, 04 Mar 2026 05:07:30 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:29 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 11/14] ASoC: qcom: qdapm-lpass-dai: correct the error message Date: Wed, 4 Mar 2026 13:07:09 +0000 Message-ID: <20260304130712.222246-12-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=JqL8bc4C c=1 sm=1 tr=0 ts=69a82e93 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=QkacBUY9L2qTTJrEq-kA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: nw1EN9BQ8DBF8x-KNaey_bx8jNUeHo1A X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX83AcjiRTe1t/ Yxi7Thn2Nhxy7giZXdS2/yo86YzLWiQYbioFmCeORLHrHNzLIZjY8H43Ju7zIu474AZY95vWNTZ O59vanijScdc7V3R/Pz8NqFWy1+7WxuFC3NMRbnyvXHP2u3MdK1bks5xOvUH4PcxC04MJGQpOdX P2LttjxOISylpusa9dsLEE9z68CFbdWvcC5UNwNskE50fCgwks3vekoUuJ9NrMC1l278+uIDtcJ 6TqZKbc9nfNVDcjNJBK8iBWD2JUIAi+BYwa85dXXNi7CSz3QwzwtchzUQ0l1NxsXg06maHrjA5G fytXsVVxN1LWgtcoCslOkH6qyg/jvKSQyj4EYVEVVcJSqyzumh5Cu8jnCIkrN2kUtOm+xmQ4/XK vJKZitoTTvscwDYdKpiNOVy+IqwRFds1kTyXWhgbB+mzGEk0ASPlhqw/IFBw1CTb7uwgV7qBJ/P lCQiYdrZLkrelV2CCcw== X-Proofpoint-GUID: nw1EN9BQ8DBF8x-KNaey_bx8jNUeHo1A X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Fix the error message to reflect the actual graph stop error instead of graph close error. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6= /q6apm-lpass-dais.c index f68d4b4974f3..472b2114c81e 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -150,7 +150,7 @@ static void q6apm_lpass_dai_shutdown(struct snd_pcm_sub= stream *substream, struct rc =3D q6apm_graph_stop(dai_data->graph[dai->id]); dai_data->is_port_started[dai->id] =3D false; if (rc < 0) - dev_err(dai->dev, "fail to close APM port (%d)\n", rc); + dev_err(dai->dev, "failed to stop APM port (%d)\n", rc); } =20 if (dai_data->graph[dai->id]) { --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D772377EBB for ; Wed, 4 Mar 2026 13:07:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629656; cv=none; b=KFUYG3Ho/H9WAzkZbrAQ7ZUeVf1wX5h3v65/8gxoOUWMH/n4MbmebHU8ivCj1kKvX+GHkwAhnCI6yGoJ5e+IsSFLYONaXeGMvIxEs5CfPQSa1ZMCVQK5GBS/jnOEqgiQKAMlStGKH5EGQOEebsXCja5+KdSnXNYl0tDSAoMxh5U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629656; c=relaxed/simple; bh=B8mb+C29aHmXpiZ0KkyuEWv+QuyMzs+RA8VA08jucnY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L/NvuRUtRVYdKL+/S7aIlf6moAEKUjORu2p17XPVKh03PFzwWhWv3jMsJnV8Ff2S5eLFfFot56u1B/u8Ow326FxWTR/Oyl9B2X47PDxM5U0CNE2ImtkGtXy//+kLqx4djJXIZ6irEYQ8LKoZF40QRndEOVVM6vl7mccD34y46c8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Cuj6cgSt; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CG+cJpCE; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Cuj6cgSt"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CG+cJpCE" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6249spNH1213650 for ; Wed, 4 Mar 2026 13:07:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=aC+um2a762g fpLWPhHdIhYlAN3YczWO4vgnfj1X+hyE=; b=Cuj6cgStN4kjz668yR/qAVmo+Kc XsfiX5oIvM3r0+YMII5R4fmjpS2iFHigIlIdUOI1nsn8OkB2Qv4GLBOZIFd3AWGz VFzlSnzz6xkXaxDga6ibPe0NTxfdJH21omDyvHwbODg6Q7XHY3nmlQAVRY4aKNyQ HQywL4QhnQwdq0HwypHRzBfCV0hywoU8r5zpnixwtOFqE3nSVqqShwEDV2TQ2/L2 bcNA8xhhMvqZGDPcjh99aYZVlQixfdlWHm7JE/AiF8dZwForeR/5SRxOPylWv8TS Kj4/fZpHt7kklRbA0tfUWgea2mugITJN+q6FO8nw6ECMaMhd3tzGQTnM4/A== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpjh5rhpa-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:33 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-8c881d0c617so4041299685a.1 for ; Wed, 04 Mar 2026 05:07:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629652; x=1773234452; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aC+um2a762gfpLWPhHdIhYlAN3YczWO4vgnfj1X+hyE=; b=CG+cJpCEHcvrbwkwtrLTvn5eG9mXj03lyab5Ii5v9S/5bUd05jQ0fm0UompK7wzUSu Ibp7vkkUeL3Rer0wA0PkN+S/qVW0fKA3c2qmXIcjEPmdQyApyq6Euk+EwG+fa/ESF184 url88bJEleRE2nt1Tk/z3mmBlN/SZEmeNJWtKVnsq1YjWbJA/6t2BOww6URfcoSQ8l+s LcF4OkRvCwnb8N1L+tIQ7hMf4evas5zwrKu2b27Zg98DN/G63VlKUxiy21GOb1YCe2sv 8Hf3QPpb2HreqyC41ynqx6sQdYFFSE+xKTP52iS1btmICIeXv4QkLl3fMCrVwyqQu6ev WKkQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629652; x=1773234452; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=aC+um2a762gfpLWPhHdIhYlAN3YczWO4vgnfj1X+hyE=; b=dNGDLj8MF8MIKdWNeBrNTQU2vK3Cg9lOxN+afR+OZS75seIsOk5bOkyoolt8/qn1of SA2gw6QU/+CqWv0zSBN51VmttUzq1OkmZMlkeRAr2xf2LWjSTEQrV6qI5Q4l2fgX5JdC LkNax31CGZJGO1yhJJMowI0f04cXzHjn3OT/tTXMlW8SRnxoMDCdnr3X65wtJv7aoebl zmrrKXXBX4Ny+efG1uvBRxI4B+Aospi+o5EjRepwxL1LgCSj/Bw0C9f73EAoidkYWLIe v9UTMPhNnu6El+/WRpMwZnNiV68iQ2kcrEumjfcGsn5sn1VJ/XeoR+N1oSnF/H5mot0m gOCg== X-Forwarded-Encrypted: i=1; AJvYcCW/qFp6+HsvX92xodddBYUr3sPXNm1G9PlbxmFM8AMwYtbx8FiktqajqFD55iIMq7dtMhiQINMd8w8EqHk=@vger.kernel.org X-Gm-Message-State: AOJu0YyoXOXS0R/oxXX76xEIRcDNdZoIX+mwBeYK7+LabIqYR6wtDjjK Drhsl8lCFr5e31LE8rJgzqM+kAVWbhNgRKlLld+9U+wp12Cg4Fi4vzv6u0HCA26xFRQ30w2ZqGq f5LmvNuKKckWBFimitYv6sHelB195RS6LfUzssYIukHcmjpY9Mhqkp9OZkhhst1TXFMA= X-Gm-Gg: ATEYQzySEWCTSOmr+9xXYa7ZXpIRu5ZoHCNbIuKR1ubWsV1T2oNlJRxfQEbQYtO4gaH +BeqoBDpcqSRQQOaQPoFLp/EE9JSavCh3kWtQ/uoeZsUz6hzpUmJzD1duF6lT+a10rlQ/0RkNP/ nJFE57mV+buHLyXTeSNGZ0oSKw9xQXkzYD9peXadflbvpnaCqoU5GBduI6+Fj6ld8ZBvEQQJlcY AqGyc4h18R9ruds+d0c5cFvyi9bgUZichOcPnczXY9ctyfaypwaom9TX+SXBOta6CxYYFRXlIgp XRanZ1Pohb3htSytBbWmYIpWg2Cd9sNaqpLki6XugjSo1rlkbM72zYVS8uWpPMomOBBpbCUlT1i dEof+6/n2cdLTFMyDWZmvqOY0rbaEHTrmJtCsNkffYPfIp5lE+NXH3A8= X-Received: by 2002:a05:620a:bd3:b0:8ca:90de:43f5 with SMTP id af79cd13be357-8cd5afaa72cmr211910185a.63.1772629652466; Wed, 04 Mar 2026 05:07:32 -0800 (PST) X-Received: by 2002:a05:620a:bd3:b0:8ca:90de:43f5 with SMTP id af79cd13be357-8cd5afaa72cmr211904285a.63.1772629651851; Wed, 04 Mar 2026 05:07:31 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:31 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 12/14] ASoC: qcom: q6apm-lpass-dai: move graph start to trigger Date: Wed, 4 Mar 2026 13:07:10 +0000 Message-ID: <20260304130712.222246-13-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: i_J5NMpsm8TUGw55R9Flf7SxIA3bF7Pl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfXwonKWn76mA/T R1Z1Ff5TEZGmVJ8gmk0EcX3+waJGzX2AgYscDQqwbo8JKdoVdVG/KeyRpvSkDhaT8O+YtZncpWA vUQFlqGtrm/ZIfXpZCCqBw+lZxRJ1uzZEchrdL4MeNb0MkZdWKvUo+hS+vSPUpa/7K6b92CCNSC 7ODu24Yz6s0GmcLPKs5jW6E9W3s6M1XwGFNAUnm7NcZ5CfF75Py9vPApRaWVwgnW/PrXuZYvLqy aOxK0rVCZM+qoUC1fNupzYMorTAWlirdV85n2ZjQBe/3f/mRoj9n2u575P9N0YusDp23D1bYjkP /b80VVINupx2Ih1aMarZBaw3EkPRZLKO9taFC7vEAoWhElFp9/YaD3gOmGkFicFsAgwRABtGTXz VrG3MuDhH2LO/558uSM7KecV2+tHYQFdDPvHVwc1PbCXwEWrCtqH2UpBJSY/Hc2n3/r96QMoatd ChzHSlnVHiCgNO9lwIg== X-Authority-Analysis: v=2.4 cv=JK82csKb c=1 sm=1 tr=0 ts=69a82e95 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=8udmP7N65bQo3KbB_RsA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-ORIG-GUID: i_J5NMpsm8TUGw55R9Flf7SxIA3bF7Pl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 phishscore=0 impostorscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 bulkscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Start the graph at trigger callback. Staring the graph at prepare does not make sense as there is no data transfer at this point. Moving this to trigger will also help cope situation where pipewire is not happy if display port is not connected during start. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6= /q6apm-lpass-dais.c index 472b2114c81e..70e283671f43 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -159,6 +159,31 @@ static void q6apm_lpass_dai_shutdown(struct snd_pcm_su= bstream *substream, struct } } =20 +static int q6apm_lpass_dai_trigger(struct snd_pcm_substream *substream, in= t cmd, + struct snd_soc_dai *dai) +{ + struct q6apm_lpass_dai_data *dai_data =3D dev_get_drvdata(dai->dev); + int ret =3D 0; + + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_RESUME: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + if (!dai_data->is_port_started[dai->id]) { + ret =3D q6apm_graph_start(dai_data->graph[dai->id]); + if (ret < 0) + dev_err(dai->dev, "Failed to start APM port %d\n", dai->id); + else + dai_data->is_port_started[dai->id] =3D true; + } + break; + default: + break; + } + + return ret; +} + static int q6apm_lpass_dai_prepare(struct snd_pcm_substream *substream, st= ruct snd_soc_dai *dai) { struct q6apm_lpass_dai_data *dai_data =3D dev_get_drvdata(dai->dev); @@ -171,10 +196,6 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_subs= tream *substream, struct s q6apm_graph_stop(dai_data->graph[dai->id]); dai_data->is_port_started[dai->id] =3D false; =20 - if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) { - q6apm_graph_close(dai_data->graph[dai->id]); - dai_data->graph[dai->id] =3D NULL; - } } =20 /** @@ -203,14 +224,6 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_subs= tream *substream, struct s dev_err(dai->dev, "Failed to prepare Graph %d\n", rc); goto err; } - - rc =3D q6apm_graph_start(dai_data->graph[dai->id]); - if (rc < 0) { - dev_err(dai->dev, "Failed to start APM port %d\n", dai->id); - goto err; - } - dai_data->is_port_started[dai->id] =3D true; - return 0; err: if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) { @@ -254,6 +267,7 @@ static const struct snd_soc_dai_ops q6dma_ops =3D { .shutdown =3D q6apm_lpass_dai_shutdown, .set_channel_map =3D q6dma_set_channel_map, .hw_params =3D q6dma_hw_params, + .trigger =3D q6apm_lpass_dai_trigger, }; =20 static const struct snd_soc_dai_ops q6i2s_ops =3D { @@ -263,6 +277,7 @@ static const struct snd_soc_dai_ops q6i2s_ops =3D { .set_channel_map =3D q6dma_set_channel_map, .hw_params =3D q6dma_hw_params, .set_fmt =3D q6i2s_set_fmt, + .trigger =3D q6apm_lpass_dai_trigger, }; =20 static const struct snd_soc_dai_ops q6hdmi_ops =3D { @@ -271,6 +286,7 @@ static const struct snd_soc_dai_ops q6hdmi_ops =3D { .shutdown =3D q6apm_lpass_dai_shutdown, .hw_params =3D q6hdmi_hw_params, .set_fmt =3D q6i2s_set_fmt, + .trigger =3D q6apm_lpass_dai_trigger, }; =20 static const struct snd_soc_component_driver q6apm_lpass_dai_component =3D= { --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 628FE390234 for ; Wed, 4 Mar 2026 13:07:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629659; cv=none; b=Vw1zs8L9q95CwdUdKQWuFfptYEhEh0XjmSppB5PTUQNkZnHh7HDbs3r7kvBMKddMncO0i5lM89KOvW+3U1xxnzEfmg5ffbwCRoyAQl4IfbkEh161L9iAwdpetoVpvmBZIWM+bUouv5kD+4mqKoInpgWwkOjSe/nb+qayAECxP2g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629659; c=relaxed/simple; bh=VyhmcmdCocO/mXPDB+OqytJYIreg7wlJAag5CLmUSxg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hXyZzZwIxDbVKeTzgvlbPYP4G7BF84pUzPv0yQG3BKPq20EO2PQPI4XQyI9ZBbGIDsVekhOTntWeHCPbpHTl52hk7QFRLUM3dJRtBJVPGBF5/C88kPuhUjzyWQU29OMzWcEC/g3myWPiA76sZSmbAzkbhFe930aJXHc4lCoGGNY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=F/SaP/W2; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Gt2aVQCB; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="F/SaP/W2"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Gt2aVQCB" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624CxeC91203427 for ; Wed, 4 Mar 2026 13:07:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=XJegSL9SyIW 8NkmReRK6OuDLMZtYbsuyhgigi3fazVM=; b=F/SaP/W28w6nfKb1AW+JcTbv0bn zLI/5PE1pqdGw+LTKTmuODoDAXq5iO4Kl0kWyd6JkhjgDObOcyDEwMkI1a1JSA9Z qY2UNPGWcShbiJUBLM3eYvfgCqlTUgPDWwSyhiFWYXG4gDrs1oKa88BFiUFzyDgF WJeypmJXw4lg1mo8bq1v9emyO89ITzuOPDcwzFHUnayqOPjmxSUB+RPuStT5xP8Y 97YIpTx+0B1bdWBzUU2dP5ad2LtFxrSeA/aEXfkslM04iW+m33CKGGXQ77PZUN6t WYktLSypYHLwEbNU6WRHsC+cBXnNeuNefueB0jobll0p9l8/UlbLTZDuiXw== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cpf9c1a9w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:34 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c71655aa11so6219909585a.3 for ; Wed, 04 Mar 2026 05:07:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629653; x=1773234453; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=XJegSL9SyIW8NkmReRK6OuDLMZtYbsuyhgigi3fazVM=; b=Gt2aVQCBXdWAD3bMRsOoisZlT9WQQirKFhegnNYIc1pbfPQLowYirt6dQTjJKvjM+D ByKb6rAeZF7gBVk1Xu7NkujU3DGEqZdyy2L8VwiNz+eD9gZNy5K+sQofdPMpsLyZqnf3 u5VHorNcU8yrvqokkfILw1Bez512Z7Rw2OC0VAXTkJL+fXj+Y+nn/H8/iqyYsNXvXcAN ucilmR33mR6Ulv5Xy0aGf5NxshvVkzSgUq9sdnfmsL5UEGpCFetWIVFnXVt06hgekHmH X2ULhDusE2rurUdJ5w3RRaCPrNj3Q7UnM/Fo0hYGHDqBC8wA5h/x8zEIaFS+U9KafLYQ v7wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629653; x=1773234453; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=XJegSL9SyIW8NkmReRK6OuDLMZtYbsuyhgigi3fazVM=; b=E/4pbZtfqUgUkbyDLvXmvoIvSgJp1Bz8eYhvjpm9xbtrmLesoPwVFCpKnMNVQyKfdr Gr0qAVECeZtg5sNPN3xt2c6bzScIDh3mNV8ePP2WXXFrpA83DJFRkMmdlrYRtKevVt5M ukaHqoa9YqmWY6fkCe828cFnlPlOvzBNbUQSqn/Av83TUuDcpxEDCjXryDENuu7B46qW hk2YnyfzGN4h5lx32n4JTgc1zvUmdQsLxn3fyySYiBLTFsOs0JA8sN95f97SMjqzV0jV 8n5woTkCjH0g78zAdXIhbxX7BW0HPk9hFUmZekj4J0WGZBZnAfsQAGp83+jTxU1ZioXU IKHw== X-Forwarded-Encrypted: i=1; AJvYcCVgBLw/hSx94Uam5BUimpUtB+ggxSthgvr9GHM1xg4tQjBMGkRuw/0y3uBGceLAqH3KeM6J1fhtXXEewx8=@vger.kernel.org X-Gm-Message-State: AOJu0YxGHjzcmfNFxpkS0pu54LqoiGEGGG06JmP6DL15v1r3YfyBXc// YfgoL6qDIGvIludl57wCjbffMLw7THOrZue8gKd27l15G2zee3cBMDb6+HcAhGVE3HE/XT9XO2m BAp5cKPtxCtnOfY/yEA8ShlCAENnHST/XZo1Ug6gDyPv3vPZ1WVuFza0v+Y06d7/jzAU= X-Gm-Gg: ATEYQzyGQB4XnT5Ft63OdK4G5HLVEiT55lbfGf3fBRNLuFNczVq/e9UtaEbihnSo+Ns ust/3Ef79Hq+CWg8WjshX2hVx7xJBEJHBwcbioRfIlYbLQ7ahESGcO+YYIjubEKddJ8yBFCgXiX V3kK/sWu40nkA0A1hl6SkjeGcB8qtvI3SLr9y8Jl+AjaTl1kk2ymN7wg2dfZCcYMC+7tnUo3bX5 jve/i0CfL7kbGcOYLiJrnUU5SQbolunLfRl0qJ2mz2t+6RG4fKYwxUSKFMzRXWWKyRjYz0Z8RA7 zjx9YM/htEzC4CuSjY6aTW3NShBQ7OhYu7AHHpurFd5PSh/L7WUUZB3aWf3vRUL6CfuVySk/9HB 4zBigEPfliLOBzYRAUaeamBhxwsEMnDlSeBDFCikQAn0uUHoJau0RNhg= X-Received: by 2002:a05:620a:2a05:b0:8b2:2066:ffca with SMTP id af79cd13be357-8cd5afe90e4mr174418985a.82.1772629653407; Wed, 04 Mar 2026 05:07:33 -0800 (PST) X-Received: by 2002:a05:620a:2a05:b0:8b2:2066:ffca with SMTP id af79cd13be357-8cd5afe90e4mr174412685a.82.1772629652898; Wed, 04 Mar 2026 05:07:32 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:32 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 13/14] ASoC: qcom: qdsp6: remove search for module iid in hot path Date: Wed, 4 Mar 2026 13:07:11 +0000 Message-ID: <20260304130712.222246-14-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX9KoudWYjjC6B g8SOxGy1B+Y98aLONZ3mvaOgF1IZepJSyBoPvVOZ+obMd9te9hRbt3ERRonrTsMTRF2V6j5NkWW mH4Q+aboMFBLz0REzH8CYpVrPYqML9Xymr/gDOYHaHhy55PPJRGyyw5FdeePFORbX7d+0JKEaMj 7iFx98nfzKPdslL15C5+Qqsjz/yxFxCrVkjmDvxPuOLegtLgGzPHjnGSrz9H99YtVC5+/rAgvCv Wl1ahq0fjJ+NZZn0YOhXEjoEWOu+TgcKBNpIO/Ug3xiun5gFVe3sxUpJcqeXAWHi3TY4wEMa3Me qTFAt/LbKEfDT/UZmsOttqEB99Hs/Sd1PvF9AZHDZ+soYbDYGnRq8/XeJO7zTCMauUgavaZX1h/ 9fx7jkm89dymS3qvkRNdSsaUtT0ahBLAOGr+vC50F+lY7f1APqAtp/Lfl0wsNnEVuDtZC+cyquA t0wIzRofdxYcl+iv0eQ== X-Proofpoint-GUID: iq0OAybPjYKym05j7eSKZMnEmVJu3X7p X-Authority-Analysis: v=2.4 cv=S4LUAYsP c=1 sm=1 tr=0 ts=69a82e96 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=Ll4dbTg5roZnn8cDlSAA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: iq0OAybPjYKym05j7eSKZMnEmVJu3X7p X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 impostorscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 clxscore=1015 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Remove searching for Shared Memory module instance id on every read/write call, this is un-necessary if we can cache the shared memory module instance id per PCM graph. Add new member to graph struct to store shared memory module instance id to avoid searching for this in hot path. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-dai.c | 5 +++-- sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 4 ++-- sound/soc/qcom/qdsp6/q6apm.c | 14 +++++++++----- sound/soc/qcom/qdsp6/q6apm.h | 3 ++- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index 3eff45b241c9..bdd4cc458acd 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -355,7 +355,7 @@ static int q6apm_dai_open(struct snd_soc_component *com= ponent, =20 spin_lock_init(&prtd->lock); prtd->substream =3D substream; - prtd->graph =3D q6apm_graph_open(dev, event_handler, prtd, graph_id); + prtd->graph =3D q6apm_graph_open(dev, event_handler, prtd, graph_id, subs= tream->stream); if (IS_ERR(prtd->graph)) { dev_err(dev, "%s: Could not allocate memory\n", __func__); ret =3D PTR_ERR(prtd->graph); @@ -496,7 +496,8 @@ static int q6apm_dai_compr_open(struct snd_soc_componen= t *component, return -ENOMEM; =20 prtd->cstream =3D stream; - prtd->graph =3D q6apm_graph_open(dev, event_handler_compr, prtd, graph_id= ); + prtd->graph =3D q6apm_graph_open(dev, event_handler_compr, prtd, graph_id, + SNDRV_PCM_STREAM_PLAYBACK); if (IS_ERR(prtd->graph)) { ret =3D PTR_ERR(prtd->graph); kfree(prtd); diff --git a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c b/sound/soc/qcom/qdsp6= /q6apm-lpass-dais.c index 70e283671f43..aceb2ac9bac8 100644 --- a/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ b/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -203,7 +203,7 @@ static int q6apm_lpass_dai_prepare(struct snd_pcm_subst= ream *substream, struct s * graph, so sequence for playback and capture will be different */ if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK && dai_data->graph= [dai->id] =3D=3D NULL) { - graph =3D q6apm_graph_open(dai->dev, NULL, dai->dev, graph_id); + graph =3D q6apm_graph_open(dai->dev, NULL, dai->dev, graph_id, substream= ->stream); if (IS_ERR(graph)) { dev_err(dai->dev, "Failed to open graph (%d)\n", graph_id); rc =3D PTR_ERR(graph); @@ -240,7 +240,7 @@ static int q6apm_lpass_dai_startup(struct snd_pcm_subst= ream *substream, struct s int graph_id =3D dai->id; =20 if (substream->stream =3D=3D SNDRV_PCM_STREAM_CAPTURE) { - graph =3D q6apm_graph_open(dai->dev, NULL, dai->dev, graph_id); + graph =3D q6apm_graph_open(dai->dev, NULL, dai->dev, graph_id, substream= ->stream); if (IS_ERR(graph)) { dev_err(dai->dev, "Failed to open graph (%d)\n", graph_id); return PTR_ERR(graph); diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index f190ad5e912a..7ef6ae0b1759 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -411,12 +411,11 @@ int q6apm_write_async(struct q6apm_graph *graph, uint= 32_t len, uint32_t msw_ts, { struct apm_data_cmd_wr_sh_mem_ep_data_buffer_v2 *write_buffer; struct audio_buffer *ab; - int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); =20 struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_pkt(sizeof(*write_= buffer), DATA_CMD_WR_SH_MEM_EP_DATA_BUFFER_V2, graph->rx_data.dsp_buf | (len << APM_WRITE_TOKEN_LEN_SHIFT), - graph->port->id, iid); + graph->port->id, graph->shm_iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -449,11 +448,10 @@ int q6apm_read(struct q6apm_graph *graph) struct data_cmd_rd_sh_mem_ep_data_buffer_v2 *read_buffer; struct audioreach_graph_data *port; struct audio_buffer *ab; - int iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); =20 struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_pkt(sizeof(*read_b= uffer), DATA_CMD_RD_SH_MEM_EP_DATA_BUFFER_V2, - graph->tx_data.dsp_buf, graph->port->id, iid); + graph->tx_data.dsp_buf, graph->port->id, graph->shm_iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -604,7 +602,7 @@ static int graph_callback(const struct gpr_resp_pkt *da= ta, void *priv, int op) } =20 struct q6apm_graph *q6apm_graph_open(struct device *dev, q6apm_cb cb, - void *priv, int graph_id) + void *priv, int graph_id, int dir) { struct q6apm *apm =3D dev_get_drvdata(dev->parent); struct audioreach_graph *ar_graph; @@ -631,6 +629,12 @@ struct q6apm_graph *q6apm_graph_open(struct device *de= v, q6apm_cb cb, graph->id =3D ar_graph->id; graph->dev =3D dev; =20 + if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) + graph->shm_iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + else + graph->shm_iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); + + mutex_init(&graph->lock); init_waitqueue_head(&graph->cmd_wait); =20 diff --git a/sound/soc/qcom/qdsp6/q6apm.h b/sound/soc/qcom/qdsp6/q6apm.h index 5cf538397841..7c646ffcf956 100644 --- a/sound/soc/qcom/qdsp6/q6apm.h +++ b/sound/soc/qcom/qdsp6/q6apm.h @@ -99,6 +99,7 @@ struct q6apm_graph { void *priv; q6apm_cb cb; uint32_t id; + uint32_t shm_iid; struct device *dev; struct q6apm *apm; gpr_port_t *port; @@ -113,7 +114,7 @@ struct q6apm_graph { =20 /* Graph Operations */ struct q6apm_graph *q6apm_graph_open(struct device *dev, q6apm_cb cb, - void *priv, int graph_id); + void *priv, int graph_id, int dir); int q6apm_graph_close(struct q6apm_graph *graph); int q6apm_graph_prepare(struct q6apm_graph *graph); int q6apm_graph_start(struct q6apm_graph *graph); --=20 2.47.3 From nobody Mon Apr 13 21:02:31 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C0B89351C2F for ; Wed, 4 Mar 2026 13:07:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629660; cv=none; b=bEnwbQVdTgkm6MtVTiV0Rjgk8oMpIG5b+xheC4A30mSDAvjin+jmB4n3VhvXY28ooUzUDsFjg+uaG+E4OSVIqNjTaqu7eZH5cxcH0fUut0vvKYGOMlRruKKOm7hMy2vksOxEwLlcnGkdfvz8hERqlAw4uF+74CgormZtq906eSY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772629660; c=relaxed/simple; bh=DvFP/wvaJ5CtBSK4QE/DhIGDUkVqOv8tT7vU0VUqQmU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C15v39uncjaJ5sDRYwzFUeS640OHH7z4626pClcXaQlUTx0KuTOhgG9xB5GFc9/mRCaJ+w4PkAjfUmjgQ9lZEW1atXJTBVoXrjy5R+dQo3U3BD0g0aAS3LegaJuUV7R5m7DhbSEWz1YzhCmn8PiLiOyT80/Ne/JgLBR12qDwvno= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=l2nYTnoM; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=GeEPz/tp; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="l2nYTnoM"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GeEPz/tp" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 624C4mT03110522 for ; Wed, 4 Mar 2026 13:07:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=jvoT3l7ozYp q4t2jEp63vepOyrzL4M48KQbe9Tm5zvE=; b=l2nYTnoM2jHyNUqoJQaV+Lk00b2 CFn6QoJt/FMU5/KLJs2h/tj1Ej6DKEwnPBD6lYR/skfUZ06kXNCYGnUlCeiGbqIX sYhkpY1yqiIa/PFhH97aD65AoBClsHOBHu5tAY7+9eb0eW9yys9xC5TYdVA5E5Va X/LJ/QGTasQX1JYZ+85FTye9c5DWJbN3ahWADftqvnBCn1riICi2NE1YPOKEe67m Qt+7J58LfHqCJ/pkcdxDXG7wL9Oa4fzGmxoAv1NOnC9Eftqj4/HDpB+ndr5D9P8K UivnpSsmd6/BEP+mzczFWnzcveGmHqPIjLgWmc3wJ6Qw3sDMhjC+wH+darA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cp5h2b7s0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 04 Mar 2026 13:07:35 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8cbb8040f48so4776838485a.0 for ; Wed, 04 Mar 2026 05:07:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772629655; x=1773234455; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jvoT3l7ozYpq4t2jEp63vepOyrzL4M48KQbe9Tm5zvE=; b=GeEPz/tpu6tc/E3TwKF2z5Uw2viqGxdqXKDR3uZ/Io2/Xjicg4Sm1FxW+idmr1PyXl G2ChIRknWjay/Z4SpM+/tOD9hD1Wjn5l4uV1RrnbUZWcgwkiGCqBKTzubzHm7o1pSNqq koGXf5+GTRKutCzaAi8STT1J5kov0bRUebdVlWmYhG/RQV0Y0LXWxHF8WY4D7eHjSX80 T11zXo3Alo0ACBCuwlV26zzmFc/3CT2vdKlqOAwgTQ3I/G7NdIjggYcnzdniJS0Tmset NIlmOpxh5Nz8tjQlbrIJ2Bt8Jch6Tf4pfheQAqtH1M7VhVzf+n6eMsXHZ+Rdf8NCX4L9 q2QA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772629655; x=1773234455; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jvoT3l7ozYpq4t2jEp63vepOyrzL4M48KQbe9Tm5zvE=; b=ZWvACOCAb3UVHCmWlsEIC0n6X9WBBSm0nb5d7qIVC/VTOwBUKzfKg51xvR5O8ADRnr OrJs506Tb2fAk6cLgkDYEi2fnj9LDS6DbeoisOwXcNmq/GOY5ek5xzwyLNC9c3xsScsP 4nNKX5Ehs76AGOVcNzDs+39vUgq1BtLQ7N5OvyixcdNhpMTr0yE/fdE/vR6IlCBvTLyC awE0r3BPqCJyp+Gyq6WObOqENY020gS0p1gnHvn7cIO998WqnlNV9w/wZPAQ9H0PREde whR0s/ljoFTn9HLvfRKSR0uzrZsrinqeudocaCak/UsidLSHWhhY/j1AGfFAfwzEPpFh gykw== X-Forwarded-Encrypted: i=1; AJvYcCUKT/ytkJR3UIToOWcQG1Zmxgo29Fi17nXfrrOSd4qRz0bxp63DPSMKG0gId+2VdiTi7/UKIE73M3GrGwE=@vger.kernel.org X-Gm-Message-State: AOJu0Ywb5SPIPraAQiWdXWOCV+LA4keXxJC92Xv2Ih4MNum7PF97tj1u NZP438CagyeZEMICVor842zqqn7hND5338pZbWRThh4fA03CfHSBDFFfyekgeBBE85O9qFvkF6z +zRGAZjHQ2uNCuUxXBsVTXxYSYL/+1ByfplR/vlJ8jTFFu08Fbedt3U4P91YaYb18ggw= X-Gm-Gg: ATEYQzyMBmDI3pPvQrAOTvzA0JlIaqrkHfOVU233rIPO2CA3PUpcsXPAVMO6Zqp1CcM H8djGJaluqoahNG8oC3SMARnX0UjDWWTEmbeEtjOuZTo0bOIq98bpnoJvnOwsL7QG+Kkr7rG7tE v2Ee8YGqw11ND7xCsxTWgRYstMv8ODln2A6ruRQJeZbo0Wm90txncewRTL8xs+d3EhwvTsJ3ZaG ieIk/JoqJqXmT6RiWE/LL3o0V38whMCGZN/h0NOIvxvmGKPwn16O4q9eUix8So9IwkPQ7d9qr4d 2Klhpeq3uwwZeZj13aFe7toNFR0TrxnOrrQdMA/gPd6A+4kWk3fISdgxfJU4h819Ow7EQJIHmaq Xy+zV74/5M4nHex+9YAHk3xPujLbHwsig2c5Xmk9a3Hikdp97Nnan2I8= X-Received: by 2002:a05:620a:4593:b0:8ca:4444:26e8 with SMTP id af79cd13be357-8cd5afb853emr200718585a.63.1772629654502; Wed, 04 Mar 2026 05:07:34 -0800 (PST) X-Received: by 2002:a05:620a:4593:b0:8ca:4444:26e8 with SMTP id af79cd13be357-8cd5afb853emr200713085a.63.1772629653972; Wed, 04 Mar 2026 05:07:33 -0800 (PST) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-485188122a6sm49969745e9.12.2026.03.04.05.07.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2026 05:07:33 -0800 (PST) From: Srinivas Kandagatla To: broonie@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org Cc: mohammad.rafi.shaik@oss.qualcomm.com, linux-sound@vger.kernel.org, lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, johan@kernel.org, dmitry.baryshkov@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, srini@kernel.org, Srinivas Kandagatla Subject: [PATCH v3 14/14] ASoC: qcom: q6apm: Add support for early buffer mapping on DSP Date: Wed, 4 Mar 2026 13:07:12 +0000 Message-ID: <20260304130712.222246-15-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> References: <20260304130712.222246-1-srinivas.kandagatla@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=JqL8bc4C c=1 sm=1 tr=0 ts=69a82e97 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=Lmls0Cg-LgRrrh2KKlkA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: DIrF4NEVhcBA1xzU56kplxWiCt2lb3FJ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA0MDEwNSBTYWx0ZWRfX2zxfuBp3O8hh SldkBisC5X1AULoZbL1W08BSZ9nb76NIsyM9kqMHg0v3rBzN7A6Zzr7Fxx3/prpQlXLjR8N0W2u 6846nPuK41tcLDINRnhzP9nvq+VSkiX/q6V3LAyUYVtOw5qvpObonP19QwRcUjlqeSZqWvbB/bw FK8H3V96Syw3s7acD9puHmsprIVPwtYDRjIE3fDRKRBGnnaLMcpskzDuIOPMexKzZ26/yaFYbwe Y8GYH+oxRjFDAczQBdXyOJrsWUIkxgiEr9697hxYxXtVAAh+NHd7xudhcMvnoYJrdWueJ/7txUe I9FVodOSJG6Swgs3VWzuzMDIEy3hDes5/6UHOmGvKpyBXYxJ7HOScrXWcz9lS57FbyOORZCrTwT atMSxGyOdr2/YUeVAS7FfEds0GH2AcajqHLKf+Xe4lSE6N9y/KzwoQYPHKaqOBAMpZodYe1cM5N zFrR0xtADa143wbzy7Q== X-Proofpoint-GUID: DIrF4NEVhcBA1xzU56kplxWiCt2lb3FJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-03-04_06,2026-03-03_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 spamscore=0 suspectscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603040105 Content-Type: text/plain; charset="utf-8" Buffers are allocated on pcm_new and mapped in the dsp on every prepare call, which is inefficient and unnecessary. Add new functions q6apm_[un]map_memory_fixed_region to map it on to dsp only once after allocation. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 60 ------------ sound/soc/qcom/qdsp6/audioreach.h | 5 +- sound/soc/qcom/qdsp6/q6apm-dai.c | 95 +++++++++++++++--- sound/soc/qcom/qdsp6/q6apm.c | 157 ++++++++++++++++++++---------- sound/soc/qcom/qdsp6/q6apm.h | 15 ++- 5 files changed, 203 insertions(+), 129 deletions(-) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 241c3b4479c6..b2975eebab71 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -1396,66 +1396,6 @@ void audioreach_graph_free_buf(struct q6apm_graph *g= raph) } EXPORT_SYMBOL_GPL(audioreach_graph_free_buf); =20 -int audioreach_map_memory_regions(struct q6apm_graph *graph, unsigned int = dir, size_t period_sz, - unsigned int periods, bool is_contiguous) -{ - struct apm_shared_map_region_payload *mregions; - struct apm_cmd_shared_mem_map_regions *cmd; - uint32_t num_regions, buf_sz, payload_size; - struct audioreach_graph_data *data; - struct gpr_pkt *pkt __free(kfree) =3D NULL; - void *p; - int i; - - if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) - data =3D &graph->rx_data; - else - data =3D &graph->tx_data; - - if (is_contiguous) { - num_regions =3D 1; - buf_sz =3D period_sz * periods; - } else { - buf_sz =3D period_sz; - num_regions =3D periods; - } - - /* DSP expects size should be aligned to 4K */ - buf_sz =3D ALIGN(buf_sz, 4096); - - payload_size =3D sizeof(*cmd) + (sizeof(*mregions) * num_regions); - - pkt =3D audioreach_alloc_apm_pkt(payload_size, APM_CMD_SHARED_MEM_MAP_REG= IONS, dir, - graph->port->id); - if (IS_ERR(pkt)) - return PTR_ERR(pkt); - - p =3D (void *)pkt + GPR_HDR_SIZE; - cmd =3D p; - cmd->mem_pool_id =3D APM_MEMORY_MAP_SHMEM8_4K_POOL; - cmd->num_regions =3D num_regions; - - cmd->property_flag =3D 0x0; - - mregions =3D p + sizeof(*cmd); - - mutex_lock(&graph->lock); - - for (i =3D 0; i < num_regions; i++) { - struct audio_buffer *ab; - - ab =3D &data->buf[i]; - mregions->shm_addr_lsw =3D lower_32_bits(ab->phys); - mregions->shm_addr_msw =3D upper_32_bits(ab->phys); - mregions->mem_size_bytes =3D buf_sz; - ++mregions; - } - mutex_unlock(&graph->lock); - - return audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_RSP_SHARED_MEM_= MAP_REGIONS); -} -EXPORT_SYMBOL_GPL(audioreach_map_memory_regions); - int audioreach_shared_memory_send_eos(struct q6apm_graph *graph) { struct data_cmd_wr_sh_mem_ep_eos *eos; diff --git a/sound/soc/qcom/qdsp6/audioreach.h b/sound/soc/qcom/qdsp6/audio= reach.h index 89f172aab8c0..6ddc287f0fb4 100644 --- a/sound/soc/qcom/qdsp6/audioreach.h +++ b/sound/soc/qcom/qdsp6/audioreach.h @@ -722,6 +722,7 @@ struct audioreach_connection { =20 struct audioreach_graph_info { int id; + uint32_t mem_map_handle; uint32_t num_sub_graphs; struct list_head sg_list; /* DPCM connection from FE Graph to BE graph */ @@ -838,10 +839,6 @@ int audioreach_tplg_init(struct snd_soc_component *com= ponent); =20 /* Module specific */ void audioreach_graph_free_buf(struct q6apm_graph *graph); -int audioreach_map_memory_regions(struct q6apm_graph *graph, - unsigned int dir, size_t period_sz, - unsigned int periods, - bool is_contiguous); int audioreach_send_cmd_sync(struct device *dev, gpr_device_t *gdev, struc= t gpr_ibasic_rsp_result_t *result, struct mutex *cmd_lock, gpr_port_t *port, wait_queue_head_t *cmd_w= ait, struct gpr_pkt *pkt, uint32_t rsp_opcode); diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index bdd4cc458acd..f4a9098fde10 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -228,11 +228,10 @@ static int q6apm_dai_prepare(struct snd_soc_component= *component, cfg.bit_width =3D prtd->bits_per_sample; cfg.fmt =3D SND_AUDIOCODEC_PCM; audioreach_set_default_channel_mapping(cfg.channel_map, runtime->channels= ); - if (prtd->state) { /* clear the previous setup if any */ q6apm_graph_stop(prtd->graph); - q6apm_unmap_memory_regions(prtd->graph, substream->stream); + q6apm_free_fragments(prtd->graph, substream->stream); } =20 prtd->pcm_count =3D snd_pcm_lib_period_bytes(substream); @@ -247,8 +246,8 @@ static int q6apm_dai_prepare(struct snd_soc_component *= component, if (ret < 0) dev_err(dev, "%s: CMD Format block failed\n", __func__); =20 - ret =3D q6apm_map_memory_regions(prtd->graph, substream->stream, prtd->ph= ys, - (prtd->pcm_size / prtd->periods), prtd->periods); + ret =3D q6apm_alloc_fragments(prtd->graph, substream->stream, prtd->phys, + (prtd->pcm_size / prtd->periods), prtd->periods); =20 if (ret < 0) { dev_err(dev, "Audio Start: Buffer Allocation failed rc =3D %d\n", ret); @@ -403,6 +402,8 @@ static int q6apm_dai_open(struct snd_soc_component *com= ponent, else prtd->phys =3D substream->dma_buffer.addr | (pdata->sid << 32); =20 + q6apm_set_memory_map_handle(prtd->graph, substream->stream); + return 0; err: kfree(prtd); @@ -416,9 +417,10 @@ static int q6apm_dai_close(struct snd_soc_component *c= omponent, struct snd_pcm_runtime *runtime =3D substream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; =20 - if (prtd->state) { /* only stop graph that is started */ + if (prtd->state) { + /* only stop graph that is started */ q6apm_graph_stop(prtd->graph); - q6apm_unmap_memory_regions(prtd->graph, substream->stream); + q6apm_free_fragments(prtd->graph, substream->stream); } =20 q6apm_graph_close(prtd->graph); @@ -467,11 +469,80 @@ static int q6apm_dai_hw_params(struct snd_soc_compone= nt *component, return 0; } =20 +static int q6apm_dai_memory_map(struct snd_soc_component *component, + struct snd_pcm_substream *substream, int graph_id) +{ + struct q6apm_dai_data *pdata; + struct device *dev =3D component->dev; + phys_addr_t phys; + int ret; + + pdata =3D snd_soc_component_get_drvdata(component); + if (!pdata) { + dev_err(component->dev, "Drv data not found ..\n"); + return -EINVAL; + } + + if (pdata->sid < 0) + phys =3D substream->dma_buffer.addr; + else + phys =3D substream->dma_buffer.addr | (pdata->sid << 32); + + ret =3D q6apm_map_memory_fixed_region(dev, graph_id, phys, BUFFER_BYTES_M= AX); + if (ret < 0) + dev_err(dev, "Audio Start: Buffer Allocation failed rc =3D %d\n", ret); + + return ret; +} + static int q6apm_dai_pcm_new(struct snd_soc_component *component, struct s= nd_soc_pcm_runtime *rtd) { + struct snd_soc_dai *cpu_dai =3D snd_soc_rtd_to_cpu(rtd, 0); + struct snd_pcm *pcm =3D rtd->pcm; int size =3D BUFFER_BYTES_MAX; + int graph_id, ret; + struct snd_pcm_substream *substream; + + graph_id =3D cpu_dai->driver->id; =20 - return snd_pcm_set_fixed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV, compone= nt->dev, size); + ret =3D snd_pcm_set_fixed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, component->= dev, size); + if (ret) + return ret; + + if (pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream) { + substream =3D pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream; + ret =3D q6apm_dai_memory_map(component, substream, graph_id); + if (ret) + return ret; + } + + if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) { + substream =3D pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream; + q6apm_dai_memory_map(component, substream, graph_id); + if (ret) + return ret; + } + + return 0; +} + +static void q6apm_dai_pcm_destruct(struct snd_soc_component *component, st= ruct snd_pcm *pcm) +{ + struct snd_pcm_substream *substream; + struct snd_soc_pcm_runtime *soc_prtd; + struct snd_soc_dai *cpu_dai; + int graph_id; + + if (pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream) + substream =3D pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream; + else + substream =3D pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream; + + soc_prtd =3D snd_soc_substream_to_rtd(substream); + cpu_dai =3D snd_soc_rtd_to_cpu(soc_prtd, 0); + + graph_id =3D cpu_dai->driver->id; + q6apm_unmap_memory_fixed_region(component->dev, graph_id); } =20 static int q6apm_dai_compr_open(struct snd_soc_component *component, @@ -530,7 +601,8 @@ static int q6apm_dai_compr_free(struct snd_soc_componen= t *component, struct q6apm_dai_rtd *prtd =3D runtime->private_data; =20 q6apm_graph_stop(prtd->graph); - q6apm_unmap_memory_regions(prtd->graph, SNDRV_PCM_STREAM_PLAYBACK); + q6apm_free_fragments(prtd->graph, SNDRV_PCM_STREAM_PLAYBACK); + q6apm_unmap_memory_fixed_region(component->dev, prtd->graph->id); q6apm_graph_close(prtd->graph); snd_dma_free_pages(&prtd->dma_buffer); prtd->graph =3D NULL; @@ -679,9 +751,9 @@ static int q6apm_dai_compr_set_params(struct snd_soc_co= mponent *component, if (ret) return ret; =20 - ret =3D q6apm_map_memory_regions(prtd->graph, SNDRV_PCM_STREAM_PLAYBACK, - prtd->phys, (prtd->pcm_size / prtd->periods), - prtd->periods); + ret =3D q6apm_alloc_fragments(prtd->graph, SNDRV_PCM_STREAM_PLAYBACK, + prtd->phys, (prtd->pcm_size / prtd->periods), + prtd->periods); if (ret < 0) return -ENOMEM; =20 @@ -834,6 +906,7 @@ static const struct snd_soc_component_driver q6apm_fe_d= ai_component =3D { .close =3D q6apm_dai_close, .prepare =3D q6apm_dai_prepare, .pcm_construct =3D q6apm_dai_pcm_new, + .pcm_destruct =3D q6apm_dai_pcm_destruct, .hw_params =3D q6apm_dai_hw_params, .pointer =3D q6apm_dai_pointer, .trigger =3D q6apm_dai_trigger, diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index 7ef6ae0b1759..286b3d2c589d 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -200,13 +200,59 @@ int q6apm_graph_media_format_shmem(struct q6apm_graph= *graph, } EXPORT_SYMBOL_GPL(q6apm_graph_media_format_shmem); =20 -int q6apm_map_memory_regions(struct q6apm_graph *graph, unsigned int dir, = phys_addr_t phys, - size_t period_sz, unsigned int periods) +void q6apm_set_memory_map_handle(struct q6apm_graph *graph, unsigned int d= ir) +{ + if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) + graph->rx_data.mem_map_handle =3D graph->info->mem_map_handle; + else + graph->tx_data.mem_map_handle =3D graph->info->mem_map_handle; +} +EXPORT_SYMBOL_GPL(q6apm_set_memory_map_handle); + +int q6apm_map_memory_fixed_region(struct device *dev, unsigned int graph_i= d, phys_addr_t phys, + size_t sz) +{ + struct audioreach_graph_info *info; + struct q6apm *apm =3D dev_get_drvdata(dev->parent); + struct apm_shared_map_region_payload *mregions; + struct apm_cmd_shared_mem_map_regions *cmd; + int payload_size =3D sizeof(*cmd) + (sizeof(*mregions)); + uint32_t buf_sz; + void *p; + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(payloa= d_size, + APM_CMD_SHARED_MEM_MAP_REGIONS, graph_id); + if (IS_ERR(pkt)) + return PTR_ERR(pkt); + + info =3D idr_find(&apm->graph_info_idr, graph_id); + if (!info) + return -ENODEV; + + /* DSP expects size should be aligned to 4K */ + buf_sz =3D ALIGN(sz, 4096); + + p =3D (void *)pkt + GPR_HDR_SIZE; + cmd =3D p; + cmd->mem_pool_id =3D APM_MEMORY_MAP_SHMEM8_4K_POOL; + cmd->num_regions =3D 1; + cmd->property_flag =3D 0x0; + + mregions =3D p + sizeof(*cmd); + + mregions->shm_addr_lsw =3D lower_32_bits(phys); + mregions->shm_addr_msw =3D upper_32_bits(phys); + mregions->mem_size_bytes =3D buf_sz; + + return q6apm_send_cmd_sync(apm, pkt, APM_CMD_RSP_SHARED_MEM_MAP_REGIONS); +} +EXPORT_SYMBOL_GPL(q6apm_map_memory_fixed_region); + +int q6apm_alloc_fragments(struct q6apm_graph *graph, unsigned int dir, phy= s_addr_t phys, + size_t period_sz, unsigned int periods) { struct audioreach_graph_data *data; struct audio_buffer *buf; int cnt; - int rc; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) data =3D &graph->rx_data; @@ -248,21 +294,37 @@ int q6apm_map_memory_regions(struct q6apm_graph *grap= h, unsigned int dir, phys_a =20 mutex_unlock(&graph->lock); =20 - rc =3D audioreach_map_memory_regions(graph, dir, period_sz, periods, 1); - if (rc < 0) { - dev_err(graph->dev, "Memory_map_regions failed\n"); - audioreach_graph_free_buf(graph); - } - - return rc; + return 0; } -EXPORT_SYMBOL_GPL(q6apm_map_memory_regions); +EXPORT_SYMBOL_GPL(q6apm_alloc_fragments); =20 -int q6apm_unmap_memory_regions(struct q6apm_graph *graph, unsigned int dir) +int q6apm_unmap_memory_fixed_region(struct device *dev, unsigned int graph= _id) { struct apm_cmd_shared_mem_unmap_regions *cmd; + struct q6apm *apm =3D dev_get_drvdata(dev->parent); + struct audioreach_graph_info *info; + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(sizeof= (*cmd), + APM_CMD_SHARED_MEM_UNMAP_REGIONS, graph_id); + if (IS_ERR(pkt)) + return PTR_ERR(pkt); + + info =3D idr_find(&apm->graph_info_idr, graph_id); + if (!info) + return -ENODEV; + + if (!info->mem_map_handle) + return 0; + + cmd =3D (void *)pkt + GPR_HDR_SIZE; + cmd->mem_map_handle =3D info->mem_map_handle; + + return q6apm_send_cmd_sync(apm, pkt, APM_CMD_SHARED_MEM_UNMAP_REGIONS); +} +EXPORT_SYMBOL_GPL(q6apm_unmap_memory_fixed_region); + +int q6apm_free_fragments(struct q6apm_graph *graph, unsigned int dir) +{ struct audioreach_graph_data *data; - int rc; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) data =3D &graph->rx_data; @@ -272,22 +334,11 @@ int q6apm_unmap_memory_regions(struct q6apm_graph *gr= aph, unsigned int dir) if (!data->mem_map_handle) return 0; =20 - struct gpr_pkt *pkt __free(kfree) =3D - audioreach_alloc_apm_pkt(sizeof(*cmd), APM_CMD_SHARED_MEM_UNMAP_REGIONS, - dir, graph->port->id); - if (IS_ERR(pkt)) - return PTR_ERR(pkt); - - cmd =3D (void *)pkt + GPR_HDR_SIZE; - cmd->mem_map_handle =3D data->mem_map_handle; - - rc =3D audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_SHARED_MEM_UNMA= P_REGIONS); - audioreach_graph_free_buf(graph); =20 - return rc; + return 0; } -EXPORT_SYMBOL_GPL(q6apm_unmap_memory_regions); +EXPORT_SYMBOL_GPL(q6apm_free_fragments); =20 int q6apm_remove_initial_silence(struct device *dev, struct q6apm_graph *g= raph, uint32_t samples) { @@ -494,7 +545,6 @@ static int graph_callback(const struct gpr_resp_pkt *da= ta, void *priv, int op) { struct data_cmd_rsp_rd_sh_mem_ep_data_buffer_done_v2 *rd_done; struct data_cmd_rsp_wr_sh_mem_ep_data_buffer_done_v2 *done; - struct apm_cmd_rsp_shared_mem_map_regions *rsp; const struct gpr_ibasic_rsp_result_t *result; struct q6apm_graph *graph =3D priv; const struct gpr_hdr *hdr =3D &data->hdr; @@ -529,18 +579,6 @@ static int graph_callback(const struct gpr_resp_pkt *d= ata, void *priv, int op) done->buf_addr_msw); } =20 - break; - case APM_CMD_RSP_SHARED_MEM_MAP_REGIONS: - graph->result.opcode =3D hdr->opcode; - graph->result.status =3D 0; - rsp =3D data->payload; - - if (hdr->token =3D=3D SNDRV_PCM_STREAM_PLAYBACK) - graph->rx_data.mem_map_handle =3D rsp->mem_map_handle; - else - graph->tx_data.mem_map_handle =3D rsp->mem_map_handle; - - wake_up(&graph->cmd_wait); break; case DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2: if (!graph->ar_graph) @@ -571,16 +609,6 @@ static int graph_callback(const struct gpr_resp_pkt *d= ata, void *priv, int op) break; case GPR_BASIC_RSP_RESULT: switch (result->opcode) { - case APM_CMD_SHARED_MEM_UNMAP_REGIONS: - graph->result.opcode =3D result->opcode; - graph->result.status =3D 0; - if (hdr->token =3D=3D SNDRV_PCM_STREAM_PLAYBACK) - graph->rx_data.mem_map_handle =3D 0; - else - graph->tx_data.mem_map_handle =3D 0; - - wake_up(&graph->cmd_wait); - break; case APM_CMD_SHARED_MEM_MAP_REGIONS: case DATA_CMD_WR_SH_MEM_EP_MEDIA_FORMAT: case APM_CMD_SET_CFG: @@ -778,7 +806,9 @@ struct audioreach_module *q6apm_find_module_by_mid(stru= ct q6apm_graph *graph, ui static int apm_callback(const struct gpr_resp_pkt *data, void *priv, int o= p) { gpr_device_t *gdev =3D priv; + struct audioreach_graph_info *info; struct q6apm *apm =3D dev_get_drvdata(&gdev->dev); + struct apm_cmd_rsp_shared_mem_map_regions *rsp; struct device *dev =3D &gdev->dev; struct gpr_ibasic_rsp_result_t *result; const struct gpr_hdr *hdr =3D &data->hdr; @@ -795,6 +825,7 @@ static int apm_callback(const struct gpr_resp_pkt *data= , void *priv, int op) break; case GPR_BASIC_RSP_RESULT: switch (result->opcode) { + case APM_CMD_SHARED_MEM_MAP_REGIONS: case APM_CMD_GRAPH_START: case APM_CMD_GRAPH_OPEN: case APM_CMD_GRAPH_PREPARE: @@ -809,10 +840,38 @@ static int apm_callback(const struct gpr_resp_pkt *da= ta, void *priv, int op) result->opcode); wake_up(&apm->wait); break; + case APM_CMD_SHARED_MEM_UNMAP_REGIONS: + apm->result.opcode =3D hdr->opcode; + apm->result.status =3D 0; + rsp =3D data->payload; + + info =3D idr_find(&apm->graph_info_idr, hdr->token); + if (info) + info->mem_map_handle =3D 0; + else + dev_err(dev, "Error (%d) Processing 0x%08x cmd\n", result->status, + result->opcode); + + wake_up(&apm->wait); + break; default: break; } break; + case APM_CMD_RSP_SHARED_MEM_MAP_REGIONS: + apm->result.opcode =3D hdr->opcode; + apm->result.status =3D 0; + rsp =3D data->payload; + + info =3D idr_find(&apm->graph_info_idr, hdr->token); + if (info) + info->mem_map_handle =3D rsp->mem_map_handle; + else + dev_err(dev, "Error (%d) Processing 0x%08x cmd\n", result->status, + result->opcode); + + wake_up(&apm->wait); + break; default: break; } diff --git a/sound/soc/qcom/qdsp6/q6apm.h b/sound/soc/qcom/qdsp6/q6apm.h index 7c646ffcf956..67acbf0ce178 100644 --- a/sound/soc/qcom/qdsp6/q6apm.h +++ b/sound/soc/qcom/qdsp6/q6apm.h @@ -134,11 +134,16 @@ int q6apm_write_async(struct q6apm_graph *graph, uint= 32_t len, uint32_t msw_ts, uint32_t lsw_ts, uint32_t wflags); =20 /* Memory Map related */ -int q6apm_map_memory_regions(struct q6apm_graph *graph, - unsigned int dir, phys_addr_t phys, - size_t period_sz, unsigned int periods); -int q6apm_unmap_memory_regions(struct q6apm_graph *graph, - unsigned int dir); +int q6apm_map_memory_fixed_region(struct device *dev, + unsigned int graph_id, phys_addr_t phys, + size_t sz); +void q6apm_set_memory_map_handle(struct q6apm_graph *graph, + unsigned int dir); +int q6apm_alloc_fragments(struct q6apm_graph *graph, + unsigned int dir, phys_addr_t phys, + size_t period_sz, unsigned int periods); +int q6apm_free_fragments(struct q6apm_graph *graph, unsigned int dir); +int q6apm_unmap_memory_fixed_region(struct device *dev, unsigned int graph= _id); /* Helpers */ int q6apm_send_cmd_sync(struct q6apm *apm, struct gpr_pkt *pkt, uint32_t rsp_opcode); --=20 2.47.3