From nobody Sat Oct 4 09:40:50 2025 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 B640831B109 for ; Mon, 18 Aug 2025 11:28:24 +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=1755516506; cv=none; b=e9mKAN/ZoePn+nrv0ViN0aXUj1cKwW/hh2XIfc/pMLXhnHM+7Pp9MpZMXKyfCBKLrN+UdvNg0/WzWO0EPIaYkkAMuNHt2Uh4fuVm5uI9PDTZC1Zi2ZiJV0hPhQWug64EJ+XaUYeFFuwINGaiuimTo2y6+9Si0a0+9g0pW/XeLSE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755516506; c=relaxed/simple; bh=KMT7oD+MoswQz8IrV4cUVSwAcWIxbnjZOY4Tj1WvRLs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qvUYW1FLyzDhmPaXY9+0QkGoshdpbFv3IkI/TJ3Nqb3IYa+98sYhCNtn8g7HCPbk9i6iN9tD03fZzYB7COArX/mGp0+67RYMfQod8xVPmTjqvBq6IvdHml5fMw21hgsa3eHKa5iWeAxFM2xsWTglvXy2zFIsIjAgI3WQqpiwMDw= 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=oNjJqf5+; 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="oNjJqf5+" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57I85ZeM002874 for ; Mon, 18 Aug 2025 11:28: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=1cV6Kfe6d/U 7DDn7ImGO6RHZVmCQTPM4qtn5LZNykxI=; b=oNjJqf5+FMazG5W04/0YJi80d0J 2Gb/d19XhDabmDPAvXuOrFgvCVTyoL5OoEA8yy3LewYQLqEI7nVRU3a/CSZ7ijZP 5cz4jIMwQLJ+GVwRbOfFPNdhn1iGcFZgCR/Y5VSPTrHk3GcYNd3GiNvAGXEEDFLq SWUI7hWB+Lain7nSTj5JcCae8n+jTdpHSiKvS0/95WZteC3trlIx39MdG+RAYEIo F2uJ87NV7CV/jpWAxMBauw0vodJ3IH18U/OGhSEbAWVmquAtdvfTA2gaylv9JvTX h7z9s3nl13QnJ23rLam1/QdI1lva02r7bhyGbuuZvwwDsopLDcvLxaq1S2w== Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48jk5mcbpr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 18 Aug 2025 11:28:24 +0000 (GMT) Received: by mail-qv1-f70.google.com with SMTP id 6a1803df08f44-70a88daeb18so92192086d6.0 for ; Mon, 18 Aug 2025 04:28:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755516503; x=1756121303; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1cV6Kfe6d/U7DDn7ImGO6RHZVmCQTPM4qtn5LZNykxI=; b=jENXhf6XU7TUmtfoK5mqsD9MTql0x5ep33/6lk4QZTKlqqp5p4YRmV+gIOaUCc+ad4 cDLMoXRGQsmwKpisMrlxNTRtqC+gBsZVfJhVCcmOWOtiv4QBhtoQaofKyeVL2GmgSkYu D5RSrD3KmAdnlpNo4dI4D7xsBb2vxQvrKojZE4fGYlbvtKhMp3bfTl/OTqI8XgYSCo3h xpdcMiikaRvZcDA7lonNEz7S3RXQ+UThfDNE/YDXwk9SePvmmZ5UrEDtCyqHR4phqKOM 2rhal1eKgKjHaq48hXiR+1WA91mUcIxbIVv1IiIfyLpsJqxRLYxMAQKtguaL1XXziLva JCjg== X-Forwarded-Encrypted: i=1; AJvYcCXBFWrmzcWp1vs0KfX8kkObGLnn0ucHgm7zCqvpY4vE7/l+735W3wlgl+4NIJlllju9I3wR+sYETkrpcuE=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0IiLZ6psYg2Dat5nKAjAUUbWt6O3np9PtN3ZYKv0GWLnZjcyV a8wJfmoyNp4rVLnKnaI9YQI+qynDH3htKjVux+G5VW9T7xQJ0a9sEDx8XBjCzHBnNzxfhFxydRf qk/AxAjcyxgM9wCE7LDUp9wX6f7/aUalQoo9251fkGoqEcPiVDo2V0bsNqkCWzjlcEdk= X-Gm-Gg: ASbGncu1WzcOGTC2s/tW80LuzVoN4tThRQVWkS0ib1AexrMS2PfcZcTcczTgbrXM69L tS96Dfh/CUg5JcIFwqr6V/55Y9pbMnJJYLE6eaDIAISB/My0TxDh2dsdOrgJCK6GgvKL5g3CNUU +AxXUDALOUMKXH7xF+VjXi1hvgJO9ae1msgTRjdn+vDxYys6UGG1mnFuFXqMMYBAEf5/iW2CWHy 6Cq/ft0cte2l4oe6+sWTXrLdNRt3NIsbTZb+AhoqePD+EYEUW/EditJ/f0OxCs7BGBfUNS4kgdH /S+JVI/VESgpOnYq3VGgaa/UqMt7XHHYd3PkvBeAQX6nK3AlX3XVfA== X-Received: by 2002:ad4:5cc2:0:b0:707:56e1:4806 with SMTP id 6a1803df08f44-70ba7c0c266mr128265406d6.26.1755516502659; Mon, 18 Aug 2025 04:28:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGttpcAfJ4e4Fpxw0oG31IaOQsFDxj7On6vaiGyHNmsQ/Oj6iY3BmZo7wsb3Wq3H0FS9p0/3A== X-Received: by 2002:ad4:5cc2:0:b0:707:56e1:4806 with SMTP id 6a1803df08f44-70ba7c0c266mr128264896d6.26.1755516501939; Mon, 18 Aug 2025 04:28:21 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45a22321985sm127555275e9.17.2025.08.18.04.28.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 04:28:21 -0700 (PDT) From: srinivas.kandagatla@oss.qualcomm.com To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, lgirdwood@gmail.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, krzysztof.kozlowski@linaro.org, Srinivas Kandagatla Subject: [PATCH 1/4] ASoC: qcom: audioreach: deprecate AR_TKN_U32_MODULE_[IN/OUT]_PORTS Date: Mon, 18 Aug 2025 12:28:07 +0100 Message-ID: <20250818112810.1207033-2-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250818112810.1207033-1-srinivas.kandagatla@oss.qualcomm.com> References: <20250818112810.1207033-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=Sdn3duRu c=1 sm=1 tr=0 ts=68a30e58 cx=c_pps a=oc9J++0uMp73DTRD5QyR2A==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=zhxk0K_MHdi4n0KV9BwA:9 a=iYH6xdkBrDN1Jqds4HTS:22 X-Proofpoint-ORIG-GUID: EPIK3oz8P0LO3LUJmuHKiX3Zvm9zpZ6C X-Proofpoint-GUID: EPIK3oz8P0LO3LUJmuHKiX3Zvm9zpZ6C X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDA0MiBTYWx0ZWRfX9bQ2MbTHRWiz U2nkmXJ2YvfSkGTCEwg5maqwyCpgmTi6anFN8nuhhxcKeg6ym7Rf7917R3doyaB7higuQ2RvdX/ nck0yVNSFgsL1Q7ejlJ76IhnQ60+psSnS7GQYwe6Va2M0XUoBtxLWOpeJHm0tMpNhj8WoIOinI3 2MuMzMZaZO7a6MR6qd9O18mdZ1KH/iRC2p2/rEnFh9qxBema9KcZMYi3WHqhjgf49wwBbN2GeJz n6AxOlfZGAABPRUUSu0G6Zs4REODBO/lH9iSiYXmCI+hDGbabfR6a2+h9vNL2DruhGJvmXsl7F4 IOf9JxkHpGzcjmSczSM6U3+ec2m13AGnPWkLM0YNRLkH9CgR48jTfk7a8b9T4bDr9WWOtClLCKG 2XkxwQ8+ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-18_04,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 spamscore=0 adultscore=0 malwarescore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160042 Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla Deprecate usage of AR_TKN_U32_MODULE_IN_PORTS and AR_TKN_U32_MODULE_OUT_PORTS as the connectivity of modules is taken care by AR_TKN_U32_MODULE_SRC_OP_PORT_ID* and AR_TKN_U32_MODULE_DST_IN_PORT_ID* Also this property is never used in the drivers. Signed-off-by: Srinivas Kandagatla Reviewed-by: Krzysztof Kozlowski --- include/uapi/sound/snd_ar_tokens.h | 4 ++-- sound/soc/qcom/qdsp6/audioreach.h | 3 --- sound/soc/qcom/qdsp6/topology.c | 10 +--------- 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/include/uapi/sound/snd_ar_tokens.h b/include/uapi/sound/snd_ar= _tokens.h index b9b9093b4396..bc0b1bede00c 100644 --- a/include/uapi/sound/snd_ar_tokens.h +++ b/include/uapi/sound/snd_ar_tokens.h @@ -184,8 +184,8 @@ enum ar_event_types { #define AR_TKN_U32_MODULE_INSTANCE_ID 201 #define AR_TKN_U32_MODULE_MAX_IP_PORTS 202 #define AR_TKN_U32_MODULE_MAX_OP_PORTS 203 -#define AR_TKN_U32_MODULE_IN_PORTS 204 -#define AR_TKN_U32_MODULE_OUT_PORTS 205 +#define AR_TKN_U32_MODULE_IN_PORTS 204 /* deprecated */ +#define AR_TKN_U32_MODULE_OUT_PORTS 205 /* deprecated */ #define AR_TKN_U32_MODULE_SRC_OP_PORT_ID 206 #define AR_TKN_U32_MODULE_DST_IN_PORT_ID 207 #define AR_TKN_U32_MODULE_SRC_INSTANCE_ID 208 diff --git a/sound/soc/qcom/qdsp6/audioreach.h b/sound/soc/qcom/qdsp6/audio= reach.h index 61a69df4f50f..9b30177463e6 100644 --- a/sound/soc/qcom/qdsp6/audioreach.h +++ b/sound/soc/qcom/qdsp6/audioreach.h @@ -707,9 +707,6 @@ struct audioreach_module { uint32_t max_ip_port; uint32_t max_op_port; =20 - uint32_t in_port; - uint32_t out_port; - uint32_t num_connections; /* Connections */ uint32_t src_mod_inst_id; diff --git a/sound/soc/qcom/qdsp6/topology.c b/sound/soc/qcom/qdsp6/topolog= y.c index 83319a928f29..a3b0f558260c 100644 --- a/sound/soc/qcom/qdsp6/topology.c +++ b/sound/soc/qcom/qdsp6/topology.c @@ -412,7 +412,7 @@ static struct audioreach_module *audioreach_parse_commo= n_tokens(struct q6apm *ap struct snd_soc_tplg_private *private, struct snd_soc_dapm_widget *w) { - uint32_t max_ip_port =3D 0, max_op_port =3D 0, in_port =3D 0, out_port = =3D 0; + uint32_t max_ip_port =3D 0, max_op_port =3D 0; uint32_t src_mod_op_port_id[AR_MAX_MOD_LINKS] =3D { 0, }; uint32_t dst_mod_inst_id[AR_MAX_MOD_LINKS] =3D { 0, }; uint32_t dst_mod_ip_port_id[AR_MAX_MOD_LINKS] =3D { 0, }; @@ -455,12 +455,6 @@ static struct audioreach_module *audioreach_parse_comm= on_tokens(struct q6apm *ap case AR_TKN_U32_MODULE_MAX_OP_PORTS: max_op_port =3D le32_to_cpu(mod_elem->value); break; - case AR_TKN_U32_MODULE_IN_PORTS: - in_port =3D le32_to_cpu(mod_elem->value); - break; - case AR_TKN_U32_MODULE_OUT_PORTS: - out_port =3D le32_to_cpu(mod_elem->value); - break; case AR_TKN_U32_MODULE_SRC_INSTANCE_ID: src_mod_inst_id =3D le32_to_cpu(mod_elem->value); break; @@ -550,8 +544,6 @@ static struct audioreach_module *audioreach_parse_commo= n_tokens(struct q6apm *ap mod->module_id =3D module_id; mod->max_ip_port =3D max_ip_port; mod->max_op_port =3D max_op_port; - mod->in_port =3D in_port; - mod->out_port =3D out_port; mod->src_mod_inst_id =3D src_mod_inst_id; for (pn =3D 0; pn < mod->max_op_port; pn++) { if (src_mod_op_port_id[pn] && dst_mod_inst_id[pn] && --=20 2.50.0 From nobody Sat Oct 4 09:40:50 2025 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 D759931B11A for ; Mon, 18 Aug 2025 11:28: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=1755516507; cv=none; b=EaR3PL4FOIaiEwPW5NopldYC3WflO1HygNmHOa8AmaziacGA/ebv53vpjPhhx6Gtrm10a2JIeP0yRfVwCA9gMbFtY4v12mx+R3VnKBXc+oz4LJbM4re3FfUMZ64klc/Iye5noEwfHZejW0mtdHaipObWNQt1aHhowpD+vpcAxLU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755516507; c=relaxed/simple; bh=MVknS7fZsBbltlMguf8cAS8VVN8wV1AijKC/soz1lsQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PGa6JcKDJuGaZZ2fFm16N/3PtgMI9WSCAw3xG+XOUktitDEklFTmmuEEmoanuxDErpWxjKT6xmsdYdiCXnbMqO1dV+X6WBfIX3uVuM2fUvKhZ4scA8MamoQpfHw1LLekzshVTStAliCwFT+pEgUze8fbsTlAGy+ilEGLKSLLt6A= 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=aye3wiGc; 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="aye3wiGc" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57I8Uq00030081 for ; Mon, 18 Aug 2025 11:28: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=nGgpd8ySRMJ cXDU8t26AMIBMPUh533T65jXYhrJ/7+A=; b=aye3wiGcmc5q6fFsEO62PaZwnBj +jNxBTGVAWa7nD0inxIKSmCHDHHntpZ1+mZZ+0gqjsGBnulhXn2kx3haRe8tIl59 dke1FZnjdynlxJQdirlrbw5/UbnjclKvj/4B7myMXbJyMz83dQ8JEEI2Y4vyR2OV JQgdAxoQiMrTSJ+COoDnH/yDvGxs4AlGf3HTR6i3IDChzMXkNy5nBSRk7GRVnazE 70E5e+0hwcv6XZady1pnh07Pi4c+L42lJa/zLfOjdfFUDD2VbInrbUwEJCbVoKzs L4ySZy43quyOZVQRvjyZRqIkolXm3gA8P74ZURZgv+6X0fm6RHY7nlpf0NA== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48jj744ekq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 18 Aug 2025 11:28:25 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-70a928282a3so146909796d6.1 for ; Mon, 18 Aug 2025 04:28:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755516504; x=1756121304; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nGgpd8ySRMJcXDU8t26AMIBMPUh533T65jXYhrJ/7+A=; b=mNkj5nBt1SFlkISZcMOm6GRPKbBtrstZX6nFnXbCB/craGuNIa5Vq+1KYi2OeS1D9z zIE1Uv9ztSgyl9zsKotSXtP48DfCMK4qxBQ6Zec7G/a4Wh8QPAKHlllDmw2FaRjjcZ1b gZLU+Q3HH1yliwzgmvPgOwLkPkCgIPjkHS0VRxAR0VPIrnlLBhgH6c5FcoQxbF+m+/Gr dXG7P0JFgdR1MkHvjImRFL2DzBB+yeWGHlSwIC7ZcTRybeFCithwdMpz1Ssxn8NDO754 K/gJ4LSIqu6uVFtfkNmf5NtjPuXjL5eg8vRFB5jOWEp0JIwMFSwC8E5ckVkXa8+L5YqW Mnog== X-Forwarded-Encrypted: i=1; AJvYcCVYy8lIhexJIs5cRtYcZFAG3iCirJx2NX0UujsNhdyzWGsl58rofeP860vLnqBrjcSfKR7OXjlaJlwLGB8=@vger.kernel.org X-Gm-Message-State: AOJu0Yxbs4go8k45i1R30b4le22a6kpA6GgE6L/TZS/NH3ovoJmV3/98 +wXVk4hLMIQbBOSxBq+BOfYoX4cSfBk7vjLNkHxDQBcuW+q9qMfJrX2xHtE7vTVfJhyHj+sBs0h LdDhA9POfMabRjdHl+W4Px+70hJstW9K4Y262PSeka8ffYV6DIk6B/iUIwQo8Moo6OOk= X-Gm-Gg: ASbGncvdjpTmAGGBp4NhWv6tUCzefaD8M3rHD2E+TSGbA1AOT2qkh+ifWsigraK82lI EioG4JEN9pBlsNvTII7CCPON805kASASxXT4uITa+SFhplEWAX5ygNE9UCMkiE0M4GY2tqBIKJ2 pGApUhW20gsJ5M+HtKetwWHsrplBQze3sfAXDf3oA6xVuVqtJSFjPdS3uavmC+GtB5P3hbE05Rs qzDoNcnLs3Cvd8Lrou3hRZeXku4oNM9Q+E7VZV3D2pCZYmujREVw/UVoQHrktPs8lOezmiLW3yI PTr6AQl5KLVlBPDEg9WrlSqNQ+WzU/Hg7X0Mo4WauennnDtBaZJ0Uw== X-Received: by 2002:ad4:5946:0:b0:70b:9f86:5fbd with SMTP id 6a1803df08f44-70ba7caa8c0mr143184146d6.46.1755516503579; Mon, 18 Aug 2025 04:28:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEN4KALdHu1FLJQrv5AAJZwm4Wvz/EYRkjjHtCXUzU5NOxtj3D/IbKu1Mfi5H6ZZfGwGqtzew== X-Received: by 2002:ad4:5946:0:b0:70b:9f86:5fbd with SMTP id 6a1803df08f44-70ba7caa8c0mr143183766d6.46.1755516503003; Mon, 18 Aug 2025 04:28:23 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45a22321985sm127555275e9.17.2025.08.18.04.28.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 04:28:22 -0700 (PDT) From: srinivas.kandagatla@oss.qualcomm.com To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, lgirdwood@gmail.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, krzysztof.kozlowski@linaro.org, Srinivas Kandagatla Subject: [PATCH 2/4] ASoC: qcom: audioreach: add documentation for i2s interface type Date: Mon, 18 Aug 2025 12:28:08 +0100 Message-ID: <20250818112810.1207033-3-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250818112810.1207033-1-srinivas.kandagatla@oss.qualcomm.com> References: <20250818112810.1207033-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: lDMHu6RTn2X_2Q9MU8IHmNLhSMNSjkTY X-Proofpoint-ORIG-GUID: lDMHu6RTn2X_2Q9MU8IHmNLhSMNSjkTY X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAzMyBTYWx0ZWRfX6D8p0LW5PQG3 Njhz5opWmLmkeFKXap7FOWyCsFOjy88UDJ3rSR3/RQAE89FVHHL0wvO8IWzEmhihg+Jy3ELlr7O se1k2X9T2bBNTi0Fgn4i6ha4NZW70X/ANBpU2GU9+aNP7jWK1VvTG2em69C7Ox0b4HsnJwS0UXb anS2V+WylsjbdZMivroObdVekI0bbLxCC4H9lxRc4wSl1Qu39xgGHIU/+eJ3VsST/zBpFRkK81s 5ehxMMDMdCuVnhRk2OWhIqd4kFjzMinobKWFZRUYql6e63zePUfCa74o3Loai3Srm9WolVVIDI3 QLr9LAxZt9+92xxuVHK7Sht3unlM0XOq5+X3xfoTZtphffjmubGxn0EabKHlYRiqznmntf7C5Kh nBQEZPCn X-Authority-Analysis: v=2.4 cv=MJtgmNZl c=1 sm=1 tr=0 ts=68a30e59 cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=8DVPAwtwuvfE0Os7CJ0A:9 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-18_04,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 spamscore=0 bulkscore=0 adultscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160033 Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla Add documentation of possible values for I2S interface types, currently this is only documented for DMA module. Signed-off-by: Srinivas Kandagatla Reviewed-by: Krzysztof Kozlowski --- include/uapi/sound/snd_ar_tokens.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/uapi/sound/snd_ar_tokens.h b/include/uapi/sound/snd_ar= _tokens.h index bc0b1bede00c..3aa5f4928a2b 100644 --- a/include/uapi/sound/snd_ar_tokens.h +++ b/include/uapi/sound/snd_ar_tokens.h @@ -118,6 +118,12 @@ enum ar_event_types { * LPAIF_WSA =3D 2, * LPAIF_VA =3D 3, * LPAIF_AXI =3D 4 + * Possible values for MI2S + * I2S_INTF_TYPE_PRIMARY =3D 0, + * I2S_INTF_TYPE_SECOINDARY =3D 1, + * I2S_INTF_TYPE_TERTINARY =3D 2, + * I2S_INTF_TYPE_QUATERNARY =3D 3, + * I2S_INTF_TYPE_QUINARY =3D 4, * * %AR_TKN_U32_MODULE_FMT_INTERLEAVE: PCM Interleaving * PCM_INTERLEAVED =3D 1, --=20 2.50.0 From nobody Sat Oct 4 09:40:50 2025 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 E3C7831B13E for ; Mon, 18 Aug 2025 11:28:26 +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=1755516508; cv=none; b=n66u65ZZd3vtXi8NFhMoPPBh5DZdCJYV64uNkMtJqwAl12yuQc8FzdEoJlJN1fiwQaDS7Rj6DByxAdnxrsiGMuvwh5U9LvAWXh+FHyZ1IIn8xoQ30fOdAVcMnJVAOKlr722qp+JMdPDmqE6ihambMuCpeCc7TmUqtjXVgwyKCNA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755516508; c=relaxed/simple; bh=kCCoJ5RwKQolBiAA1kQB5iFFOpCZeo+oFkwyg/N17Sc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AIgakmHLPHq4hdsgaPlRjvXsVPSKmUUWUBZ5orsILtRE++KQmy4Za2VDgLAqAOSdKBRae4slNr4m2faTllWPW5mZ1K+KaDErIQidxp/XZiMzaD8AfaHVWIzbwJJGH6NNk/MpP2zqZCtl2hD5j0bFxF4jsun0TCnVGphItLRDZxo= 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=IsJf6K3B; 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="IsJf6K3B" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57I8F2FE007294 for ; Mon, 18 Aug 2025 11:28: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=aEG/pSOILoj 2TU1370f8on43zZiCQpPRxIAIX2faToc=; b=IsJf6K3B8XjZ+57NZHLNc5llHgi PUhrNITiWYmruBALhdGIOU1yr6CSxWMdpirfDdVHVcFW0GdTEDcqU2qbGs71qmHd pPTolNvT5M9KduDzgFauWV5JobE58U++mqLrs3btwkGOp6kGX/GogNxNMpE2d/Yy ByNhJgmidTgk9Os2yTog+0qPfgktWtoWKqhPG5bLqTcDvqwBq7BkiQwNgTPLSEDq k1C1b18p4O544STMFhKf+WwlBJVmaQ9VJpHZkZJuiapAWRsH2WAhccHe9AWea1cD Sfa9e0ubyccNXHi6kaWRs7pWTLSLSFnB4/zjkYKnCrNUC3opijkivSkHMDQ== Received: from mail-qv1-f71.google.com (mail-qv1-f71.google.com [209.85.219.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48jk99mbfu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 18 Aug 2025 11:28:26 +0000 (GMT) Received: by mail-qv1-f71.google.com with SMTP id 6a1803df08f44-70a9f57f950so90062996d6.3 for ; Mon, 18 Aug 2025 04:28:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755516505; x=1756121305; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aEG/pSOILoj2TU1370f8on43zZiCQpPRxIAIX2faToc=; b=AcQ9TQs2RcuG5UgxyEFQ4ScHdTz2tCCWcTtWtjTCgLguJVZDb3kkzksgz5Y+flRivd BasGZRogpOhVzIKdfSSwsvtprOgcv2HH1dKN2eHyz3YCGnotCl3Ez5mc1Avh1Vj5OHMM +9CgtDAgceXcLRr+ieC5xk2CaYSbVfrrkoxZZcfSTGb7a4YKdrKuATQzzjKBVbforFF/ PbEdF/uuGCFgTdUac3QEltnBBHxTlTEG2E6271OFgIMCPNThlq+1ve7oOgGIr7YsW3mf ROVJ0ReNfzbx5q3k89OcdL9BTZVw2Vzv9H9gv/Xjz4zc1x2Avpnv+NoMDWfW/hqeQuoq kN2A== X-Forwarded-Encrypted: i=1; AJvYcCXXaDq3JkpoUNtMwLYwSowMOJzzH7RG1LYrVZu1sgHjS3D2uPioLa9rLzJSyg5Iq3nba47WELIg1B92ATM=@vger.kernel.org X-Gm-Message-State: AOJu0YzjpwJRsUywVQA6dp33RF2NBAXN0VmU2ImnOKKIfeRC7SShhosA z3WyqSIRWM7BA/+CS1QPyw84dkLxByOoaO1lwc6rmIzcn/w7giduJk0RTQCTufX2EfeP/uLWKkH GzbRfN+HWhO40Btak9QwMM8Up4QWKmPbuPFNvJv7JpYVWJy+/wFt1C1NQ6G+i8hLIQhg= X-Gm-Gg: ASbGncun1jf0kSx7R13O0tqN2EouoAb85tgiftWwIperC2YVvuLcIkLBNFC1GiArDEJ w18/MZr6+Ef2vFPRieH79f911TmDwmTXo1TPoRfUFCht07jEOQynPIboZ0bH03ZtfOd+P0Z+H7r ThVZxc18axidXsPgyrDbvnMbK9KnPqcHbf/nquNsIpsADlO3YR+ZIHXw7uGvf73Hs1ashsAv4aJ VqRY4sgkhuZDOfApk1R2K3PjW1Cb+8R8YnrIf8vBTfgNRa/nPvlZY56Ct83qSa0stEVHBf3L0N1 AlB3llgC1lWIifOLYrGVTZPmOjY2BSeD28iimCfiGHrrLmCkRMo6wQ== X-Received: by 2002:ad4:5d42:0:b0:707:6302:90aa with SMTP id 6a1803df08f44-70ba7c0b327mr153413856d6.27.1755516504648; Mon, 18 Aug 2025 04:28:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEoAaVCg7dtdc43vun4MXHoAIdJDtyb/wj94R1p37DqIMjS5Ciwuah0xG3L7hnzi3f02mBhig== X-Received: by 2002:ad4:5d42:0:b0:707:6302:90aa with SMTP id 6a1803df08f44-70ba7c0b327mr153413286d6.27.1755516504156; Mon, 18 Aug 2025 04:28:24 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45a22321985sm127555275e9.17.2025.08.18.04.28.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 04:28:23 -0700 (PDT) From: srinivas.kandagatla@oss.qualcomm.com To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, lgirdwood@gmail.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, krzysztof.kozlowski@linaro.org, Srinivas Kandagatla Subject: [PATCH 3/4] ASoC: qcom: audioreach: add support for static calibration Date: Mon, 18 Aug 2025 12:28:09 +0100 Message-ID: <20250818112810.1207033-4-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250818112810.1207033-1-srinivas.kandagatla@oss.qualcomm.com> References: <20250818112810.1207033-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: -kNl-Ssx2xMAxH3u1X6Ag6DV5KhCdXN5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDA0NSBTYWx0ZWRfXyAOiqoHIzOzy nCkknor3wQzjIlXvsuYTFfqgOHckVlbf7wm117gCbSEESz+0W75idBuEo6UsqM6cXQ76t1XFTeC Tk9lYSF89lkHW7/FSN7UstrX1q1ed4kAaRtZs38/nvmpay5Q47zqar/GBtWjy8rjNcb1yBEWbAB Z32GcYuHwu8XpQh6DHWoxGdgGWuhR2PNNCze8f7jrPIFfqnfjjVBm/Gi22ayQNqk4a9vo4oSyWj p9fUVwjanmUY5jXHmjkW6OIhVvUDXw7euCkTVWoIwx1RnzeI4wj0MaxJ5Goi3vleNnWcqvzaD6t ELYfjJMY33vYY/z0waVNmvZbJRCOjrYSyhD5b6NJEHg6LcybZ/2/Tc0rKID+eMuJl2WsoXjC8bq FnEXwEd2 X-Authority-Analysis: v=2.4 cv=IIMCChvG c=1 sm=1 tr=0 ts=68a30e5a cx=c_pps a=UgVkIMxJMSkC9lv97toC5g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=FkCHEUkhfVKCBkrVOAQA:9 a=1HOtulTD9v-eNWfpl4qZ:22 X-Proofpoint-GUID: -kNl-Ssx2xMAxH3u1X6Ag6DV5KhCdXN5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-18_04,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 spamscore=0 clxscore=1015 impostorscore=0 phishscore=0 adultscore=0 malwarescore=0 bulkscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160045 Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla This change adds support for static calibration data via ASoC topology file. This static calibration data could include binary blob of data that is required by specific module and is not part of topology tokens. Reason for adding this support is to allow loading module specific data that can not be part of the tplg tokens, example, Echo and Noise cancelling module needs a blob of calibration data to function correctly. This support is also one of the building block for adding speaker protection support. Tested this with Single Mic ECNS(Echo and Noise Cancellation). tplg can now contain this calibration data like: SectionWidget."stream2.SMECNS_V224" { ... data [ ... "stream2.SMECNS_V224_cfg_data" ] } SectionData."stream2.SMECNS_V224_cfg_data" { words "0x00000330, 0x01001006,0x00000000,0x00000000, 0x00004145,0x08001026,0x00000004,0x00000000, ..." } } Signed-off-by: Srinivas Kandagatla Reviewed-by: Krzysztof Kozlowski --- include/uapi/sound/snd_ar_tokens.h | 8 ++++++++ sound/soc/qcom/qdsp6/audioreach.h | 2 ++ sound/soc/qcom/qdsp6/topology.c | 31 ++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) diff --git a/include/uapi/sound/snd_ar_tokens.h b/include/uapi/sound/snd_ar= _tokens.h index 3aa5f4928a2b..4896d8f02165 100644 --- a/include/uapi/sound/snd_ar_tokens.h +++ b/include/uapi/sound/snd_ar_tokens.h @@ -238,4 +238,12 @@ enum ar_event_types { #define AR_TKN_U32_MODULE_LOG_TAP_POINT_ID 260 #define AR_TKN_U32_MODULE_LOG_MODE 261 =20 +#define SND_SOC_AR_TPLG_MODULE_CFG_TYPE 0x01001006 +struct audioreach_module_priv_data { + __le32 size; /* size in bytes of the array, including all elements */ + __le32 type; /* SND_SOC_AR_TPLG_MODULE_CFG_TYPE */ + __le32 priv[2]; /* Private data for future expansion */ + __le32 data[0]; /* config data */ +}; + #endif /* __SND_AR_TOKENS_H__ */ diff --git a/sound/soc/qcom/qdsp6/audioreach.h b/sound/soc/qcom/qdsp6/audio= reach.h index 9b30177463e6..617bda051cf8 100644 --- a/sound/soc/qcom/qdsp6/audioreach.h +++ b/sound/soc/qcom/qdsp6/audioreach.h @@ -4,6 +4,7 @@ #define __AUDIOREACH_H__ #include #include +#include #include struct q6apm; struct q6apm_graph; @@ -742,6 +743,7 @@ struct audioreach_module { struct list_head node; struct audioreach_container *container; struct snd_soc_dapm_widget *widget; + struct audioreach_module_priv_data *data; }; =20 struct audioreach_module_config { diff --git a/sound/soc/qcom/qdsp6/topology.c b/sound/soc/qcom/qdsp6/topolog= y.c index a3b0f558260c..ec51fabd98cb 100644 --- a/sound/soc/qcom/qdsp6/topology.c +++ b/sound/soc/qcom/qdsp6/topology.c @@ -305,6 +305,34 @@ static struct snd_soc_tplg_vendor_array *audioreach_ge= t_module_array( return NULL; } =20 +static struct audioreach_module_priv_data *audioreach_get_module_priv_data( + struct snd_soc_tplg_private *private) +{ + int sz; + + for (sz =3D 0; sz < le32_to_cpu(private->size); ) { + struct snd_soc_tplg_vendor_array *mod_array; + + mod_array =3D (struct snd_soc_tplg_vendor_array *)((u8 *)private->array = + sz); + if (mod_array->type =3D=3D SND_SOC_AR_TPLG_MODULE_CFG_TYPE) { + struct audioreach_module_priv_data *pdata; + + pdata =3D kzalloc(struct_size(pdata, data, le32_to_cpu(mod_array->size)= ), + GFP_KERNEL); + if (!pdata) + return ERR_PTR(-ENOMEM); + + memcpy(pdata, ((u8 *)private->data + sz), struct_size(pdata, data, + le32_to_cpu(mod_array->size))); + return pdata; + } + + sz =3D sz + le32_to_cpu(mod_array->size); + } + + return NULL; +} + static struct audioreach_sub_graph *audioreach_parse_sg_tokens(struct q6ap= m *apm, struct snd_soc_tplg_private *private) { @@ -582,6 +610,8 @@ static int audioreach_widget_load_module_common(struct = snd_soc_component *compon if (IS_ERR(mod)) return PTR_ERR(mod); =20 + mod->data =3D audioreach_get_module_priv_data(&tplg_w->priv); + dobj =3D &w->dobj; dobj->private =3D mod; =20 @@ -939,6 +969,7 @@ static int audioreach_widget_unload(struct snd_soc_comp= onent *scomp, cont->num_modules--; =20 list_del(&mod->node); + kfree(mod->data); kfree(mod); /* Graph Info has N sub-graphs, sub-graph has N containers, Container has= N Modules */ if (list_empty(&cont->modules_list)) { /* if no modules in the container = then remove it */ --=20 2.50.0 From nobody Sat Oct 4 09:40:50 2025 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 AB6F431A053 for ; Mon, 18 Aug 2025 11:28:27 +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=1755516509; cv=none; b=jRUe3N7LLbTxByZvf+p+HxhqsNcICahZeiYbanoyB3yn8tbNC/4mdx7QAnK7ruCpWGu2arBlb4bvuQH5X8/EHDdn8aMSxBjJZxv08UcEAE7jwj0CwtBnjr/42/sMSXyAb0Y1yGCEkhb4FCZv95ORskf4qAJNNIG2e2qpSG3W6Pc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755516509; c=relaxed/simple; bh=7YHepwuhOJY63DTXiXG877/iFdeDIgw0g0diALJOzrw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gCtdvuqqEEVI4hl7D91xpWWT/0pskhl1PlBocXR1A5sPzW6MnfeWuoJUI186EdKnehaSFiKOOPLeLvNnGDXqZzjV0PBq0NcLjqVBbO/rNcPHqyaFnORtGi+er2MeeElfLU5TatB2qndjUpc9VSfSovcdY6IglhKlaVBsP2JTZJ0= 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=dF6Ojwep; 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="dF6Ojwep" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 57I8LTG4022741 for ; Mon, 18 Aug 2025 11:28:27 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=4+wFXC1bMsd mzWY8JLHSnVTpvfhHOd2YnF+XgmDrNUE=; b=dF6OjwepdyGx1dXEVufFycOnKb/ ItyIxgcs1w7GpEbg7vF5ezZdLy19lZbOwoZoYaWaWcie3h4P4Zy/YTsC6nh8xmjv H8YqoUa7CPUWm7ljtjFVU2qFCnAXgVWh7vsGn8kK0YV45FRAGBriknmIhap1k7V2 odFIu0W6YMaEfphTLlKI5kvCzOMdL/oozLKIE29Ic3LJJpXyDH9uObOVvgZVStcS bOISN+m+9wzZBqa29Nn9cqeYOwRgJyqNl9RvXtocptUex7TGavfAFA4+so3FTQIk hNeATWqXiftr8LFV3BgE4sDMACaE8TmtgdzKX8Y4mkMGg2wFuDzUcMGP1Hg== Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 48jgxtckj4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 18 Aug 2025 11:28:27 +0000 (GMT) Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-70a9289baafso86631276d6.1 for ; Mon, 18 Aug 2025 04:28:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755516506; x=1756121306; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4+wFXC1bMsdmzWY8JLHSnVTpvfhHOd2YnF+XgmDrNUE=; b=ZB1I/yT77yeJfLwMIa99SZ7Ze8VHgHJKImEPuB44oHdbj0QqppJEDeTK84xs03IOts jAFMXXDuuRyGD6/x7QV5WpHnGDpo1tfWNZebP9y20I4W/EsnO4sEfgzCpPQTi6iAvAPc fWH60pRvdxz7P48N9FhpziS7DVBB4mac1egUBYGF8rrCXsp6Uy0+q7pJi5uqpWCHHMsw 0ZFIUqO5UY/4ML3zMNliV2b5QeR8PFN66+/TNiZjH4z7VP5jfb+0UEJljQxqo0uq9yoU OOkZDrIHWhApqiEtkYP37+Mh2f0H5tbqD0WX3KsE+tiGFFZ9X5SzlZDQdQKXpSPJGOcf BlRw== X-Forwarded-Encrypted: i=1; AJvYcCXur0vJ3uO2j0mJRmQPR00nGrJ4cQIs0CGtt42resdh1sEPqnRnSC90SiDzjN0fDa+cTiKNjJwFPd+VPh8=@vger.kernel.org X-Gm-Message-State: AOJu0YzRV7x2Gqygf71oFx3OikrAesAwldB2/zM28MRUzrBBSNfCmCHR qG34iPGvZSyO0EiBqtupn2XQrnUZ5sWO/3x/VdLIbhpAoDekq3yVDatjPlTYqfS/8kSl2nVMfY+ Xc/kKM7AhSF07C9PQEDNgBc5NQT485LJss2aqOmIKJC2Vw0laZcW9gBrujQPKpVdQmhE= X-Gm-Gg: ASbGncspovlzAe+YzbUdBqXGCcI6RU2Z6o0JpGhyEZzN6mlcdsnCrRRthttRJ6kwvxL 5J3jn5wLLCYNAXieZFSnZWQnj1UE6T75fKxdoA0s9My90/TUMhtFa8lD5X7pNS8lEsqGsGQRFjk /BQAtSeDRN//SsGNOpcN7HSyG1AqFMg+mNi4pANRA/Mdxc0VpOZMQ3QDm276C6wdptWZ5eZN1c1 VrHE4fpjPOqUhcXUKMNMJBYZKlQqR1rCSfPD9RQ00HdSXN/HlmaH6y2EbYvMBBBLXxer/0wXGBS qx/OE7wXBe7pfZ2eKjvyX4rije9g5rGubJ/n5XEhyCd1Ck03hr9wrg== X-Received: by 2002:a05:6214:1c0c:b0:6fd:3963:7a7b with SMTP id 6a1803df08f44-70b97d16604mr204923676d6.1.1755516505542; Mon, 18 Aug 2025 04:28:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHP+KiptgfDG6xcoSSl5xxCTWMuHxndUXFTpZBE9EQe2O3f18HVCgRA/uELxALMM5far3YWvA== X-Received: by 2002:a05:6214:1c0c:b0:6fd:3963:7a7b with SMTP id 6a1803df08f44-70b97d16604mr204923406d6.1.1755516505120; Mon, 18 Aug 2025 04:28:25 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45a22321985sm127555275e9.17.2025.08.18.04.28.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Aug 2025 04:28:24 -0700 (PDT) From: srinivas.kandagatla@oss.qualcomm.com To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, lgirdwood@gmail.com, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, krzysztof.kozlowski@linaro.org, Srinivas Kandagatla Subject: [PATCH 4/4] ASoC: qcom: audioreach: add support for SMECNS module Date: Mon, 18 Aug 2025 12:28:10 +0100 Message-ID: <20250818112810.1207033-5-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250818112810.1207033-1-srinivas.kandagatla@oss.qualcomm.com> References: <20250818112810.1207033-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: wLmWsobRtkc1YUZdU16eZXT1v7zipmgV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwODE2MDAyMCBTYWx0ZWRfX0Rw82hZPApmT EvyKJ/9cP5Or1IMmC425X1GaC1yK70NhpB80BPSJybEPBOirW9oN/LZm3D16+6nErkEClUIsXPL AdxmjtJuyhqh/aHaViAxhi036mJlTdMFTO9hXsJlQAAt7FIum4tQG6Wx3nAN4NB9j+YJWddF8jz FSGxJdAkC9swAoMKw9o3LhGRGpEpKgDvNoS35Ec4E0H6EZDJzOuXvWKYmyO2CLuc9BLnAKu/nhI iqNOYhmW/DfVZrKV7g5lIRn63d1+UvoW4QheDpUtNFgCUohRua1krQ6qacM8rrNRxJ2RcoErkn9 marctKLs+n8QH+rnjfGGCj/LXhhSO9LKN9dblE38HEuiJshzBH14607mU3zIx97ZdpqxFJhpuE2 ylWZpcLi X-Proofpoint-GUID: wLmWsobRtkc1YUZdU16eZXT1v7zipmgV X-Authority-Analysis: v=2.4 cv=V7B90fni c=1 sm=1 tr=0 ts=68a30e5b cx=c_pps a=wEM5vcRIz55oU/E2lInRtA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=2OwXVqhp2XgA:10 a=EUspDBNiAAAA:8 a=oi9uD5rjtjE88QS_ecgA:9 a=OIgjcC2v60KrkQgK7BGD:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-08-18_04,2025-08-14_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 impostorscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2508160020 Content-Type: text/plain; charset="utf-8" From: Srinivas Kandagatla This patch adds support for Single Mic ECNS module, used for echo cancellation. It also makes use of audioreach_set_module_config to load the calibration data for this module from ASoC tplg file. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 27 +++++++++++++++++++++++++++ sound/soc/qcom/qdsp6/audioreach.h | 1 + 2 files changed, 28 insertions(+) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 4ebaaf736fb9..f4c53e84b4dc 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -811,6 +811,30 @@ static int audioreach_gapless_set_media_format(struct = q6apm_graph *graph, EARLY_EOS_DELAY_MS); } =20 +static int audioreach_set_module_config(struct q6apm_graph *graph, + struct audioreach_module *module, + struct audioreach_module_config *cfg) +{ + int payload_size =3D module->data->size; + struct gpr_pkt *pkt; + int rc; + void *p; + + pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + if (IS_ERR(pkt)) + return PTR_ERR(pkt); + + p =3D (void *)pkt + GPR_HDR_SIZE + APM_CMD_HDR_SIZE; + + memcpy(p, module->data->data, payload_size); + + rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); + + kfree(pkt); + + return rc; +} + static int audioreach_mfc_set_media_format(struct q6apm_graph *graph, struct audioreach_module *module, struct audioreach_module_config *cfg) @@ -1247,6 +1271,9 @@ int audioreach_set_media_format(struct q6apm_graph *g= raph, struct audioreach_mod case MODULE_ID_DISPLAY_PORT_SINK: rc =3D audioreach_display_port_set_media_format(graph, module, cfg); break; + case MODULE_ID_SMECNS_V2: + rc =3D audioreach_set_module_config(graph, module, cfg); + break; case MODULE_ID_I2S_SOURCE: case MODULE_ID_I2S_SINK: rc =3D audioreach_i2s_set_media_format(graph, module, cfg); diff --git a/sound/soc/qcom/qdsp6/audioreach.h b/sound/soc/qcom/qdsp6/audio= reach.h index 617bda051cf8..2ae6420f4b6a 100644 --- a/sound/soc/qcom/qdsp6/audioreach.h +++ b/sound/soc/qcom/qdsp6/audioreach.h @@ -30,6 +30,7 @@ struct q6apm_graph; #define MODULE_ID_MP3_DECODE 0x0700103B #define MODULE_ID_GAPLESS 0x0700104D #define MODULE_ID_DISPLAY_PORT_SINK 0x07001069 +#define MODULE_ID_SMECNS_V2 0x07001031 =20 #define APM_CMD_GET_SPF_STATE 0x01001021 #define APM_CMD_RSP_GET_SPF_STATE 0x02001007 --=20 2.50.0