From nobody Sun Feb 8 21:24:46 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 3652C304BBD for ; Thu, 23 Oct 2025 10:25:57 +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=1761215159; cv=none; b=o4qCfgBJe1C6/1dAVonIfydSrICn40Cx4elfIFWua2AyIy8uRhfiGVvyjrnj4aVRj4+eUJFtWYzrAUno4Mefz757e76e+Nh59wLEBHQoIg75RBPiryfir6AXZwv21oGZ9H4CaRFB45IOqvtG0xXOsNwzUUgEZlzKw+d/iltJdiA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215159; c=relaxed/simple; bh=fKU+7psoGKhGov9+abzdK9VeiEyjPMI2pGqzhT736sc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Qx7ILr1YZV+3y9zRV9wAvB2At5l/UrdhpB2RDdUfnUkTcjZ0uqMWSwDsz3j7F0NewRbKWIH7vghwchpPApnU0w1IQX3gyXKzNxwV7CwqlCkFco9wlkC2tfJXFRAq00URWV+ofbyBKo15S622x2kuQRggi9OhNnrbnaS/1hwpxvo= 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=b4Ujkerf; 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="b4Ujkerf" 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 59N6MC8U007454 for ; Thu, 23 Oct 2025 10:25:57 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=HoHmVwgfwgY ctL/x1k53Df3AjUPsgAlOxk1+AKZybp0=; b=b4Ujkerf3On4nYtoUk7dWUASpse yPsTwgbNGnrJnQ02X9yZicsJahmXpEmnZ92+btcP+7Q1xU0MnviixhFsttF1M9wU TS8O2UMWtZLOPdD0qXAfTOL8URC+oijTNvwUU132PDIXHH7VRxuauYNJF2/ezJ2N FBoSta3SRwhqaM8PuDT2nM3ND1QNnys/Q9J416yu5TITF7bONhsl6P1RFjAFtkqr CMwLOMWf5kLdhnG2IByI77GmffT3aY4v1Z9rdfRfp5bjpKWDLc0AR7M1SIvz0p5n Q1kFRoA1B6V3We8OMuNAP4PL6SUtxV2BOVm9rSd5tomTmMFv34usgQbciGQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v3448395-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:25:57 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e899262975so20121201cf.2 for ; Thu, 23 Oct 2025 03:25:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215156; x=1761819956; 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=HoHmVwgfwgYctL/x1k53Df3AjUPsgAlOxk1+AKZybp0=; b=Mu273C7k/deNXV/iWx3jjPEa5IoI3tsnwHX/rzva4Oy+o3lHoclTbrnbmJJY7PC1ci 6a6O9eO0qIapkKOZqI67fpkAkiCdJf1Z72EyXWETpn/va813B9ab8vX9EvFHXEPJfwzI EWAxuXJWrC9hS9xgoKLkIzZ+3VS4xGf6OCcYKqCH4jWnlBvF/2MZrXg+pTSA1RHUTVN9 IK3nAK2MWPTkyQYIiLc9dXjx5Dv483rhjQNOELkcDUZJ6kVLQzpaTQ8N548nn0SZkSaW zYl/MFavKvn/3TLm4W1QAqHsqF5zLCEEyGmpe+6SDgT7AKnheM2HknnELQovHnKoO9pc iVBA== X-Forwarded-Encrypted: i=1; AJvYcCUMuwPwRu2n3aTs3tbYu2CLppLbaGO/ZWyssTF859Wr/Z6U+Tp+9j2mTRaW8cZQh3LGYyMpzGCZaBEZARw=@vger.kernel.org X-Gm-Message-State: AOJu0YysiMimku9vOHm+qqTSOWQlPjJ+tWXysP1SIa+zVUZP5RPv7RO5 s8KuoVUF4JhTZV5O5io9k0TDmwHzOCO9s+NKkU6Qxp6YN81cLYjjOYmRY5NUQT1lpvQI1tCrV/x 3DrmJqsNClHqvOQh+uiCTSBC8Htpt/H30dbHl0yj66bUV9kn7dPCHaUxIrAxUcul01yM= X-Gm-Gg: ASbGncsCmJCt+1U2/Uu+LOO24Tu4dDp9NcjZXkQydUQqS0IJeIZ21cZigJVDR3ul1Yr JtTl4oH6YcO33WYwWRiqIpVI7xEtSjjOgMoCZPKkCeIDwiooWFMgU0iR8sJHgym79BCTyL4zUBg UpJOmgKm+XcvTX68CdR5iQnuOeiXHqC50xDBEJ5TNsqBfgyEqNQ/aNK0VcdLgXDdZF7mtbirYxs 5EBF3xQGEUBBmCfqNH6tE1gN7DQ4+vZJ/vuvn6W/iYNEUxY+8Yy1EqNY770pw8jqpApqRkxvfRc +UcCILAmaDKtlzonTpgj/xsOtpeqB3Q6qkoDRLe/yGQr1xXKGeCKHqlrrHgQxvv5oPGgM0xXaj0 pXx2wqQemhfOH X-Received: by 2002:a05:622a:13d3:b0:4e8:a2aa:77c9 with SMTP id d75a77b69052e-4eb81020e0bmr20467381cf.1.1761215155873; Thu, 23 Oct 2025 03:25:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF4pmDb7EjDueb6982IesIBCCpfc2JJhwDrIZYFugXpp3Mkd6MdhDM2CIiRAZN+L5enEZqEDw== X-Received: by 2002:a05:622a:13d3:b0:4e8:a2aa:77c9 with SMTP id d75a77b69052e-4eb81020e0bmr20467131cf.1.1761215155423; Thu, 23 Oct 2025 03:25:55 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.25.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:25:55 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org, Alexey Klimov Subject: [PATCH v2 01/20] ASoC: qcom: q6apm-dai: set flags to reflect correct operation of appl_ptr Date: Thu, 23 Oct 2025 11:24:25 +0100 Message-ID: <20251023102444.88158-2-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: Lcm7mpYkFgDYqy1pFVm6Hv1ycGjMhQ8X X-Proofpoint-ORIG-GUID: Lcm7mpYkFgDYqy1pFVm6Hv1ycGjMhQ8X X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE4MDAyMyBTYWx0ZWRfX0sgMdM8dflbF +7lEchYJ1jTsQMk1O+0m9JNEvFgut7Zg4vr5h+QoXAMgevCXI1+ewIerL5XV5UNMnpjYLVAI2bJ 6ri+GExRxIO0jqZs8dowt1YVfD9Ep6a8vXsdEof3GydxBEcr47NEyLi4iL+QEdVi8z3XvyUrAsk rUD1WS7WLnOWIRllkSkKG9q1FhqT/qdKX96LHUZ4ZmmksIznuoWQHJiFi9s3Gjyi6vHZe5yC44D VqHPlVwxzrYeUsNGNhWPHJV8GRYIaZb2mDTipp+G/buo9X1XbbIL7snEiAvZugBX+GBFaIzo6T6 SB2AM3CRYRKFegKlNi3o7VbTVyv1PSy2ydwzNPlE0ijPRFsr7fl3vSbqVFhJ/HxDBhR+4fpVug+ 1JvhZEFzDpDThaABnar6adx4d0a6tw== X-Authority-Analysis: v=2.4 cv=E/vAZKdl c=1 sm=1 tr=0 ts=68fa02b5 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=-7q2M0jigxX2LbQM1jMA:9 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180023 Content-Type: text/plain; charset="utf-8" Driver does not expect the appl_ptr to move backward and requires explict sync. Make sure that the userspace does not do appl_ptr rewinds by specifying the correct flags in pcm_info. Without this patch, the result could be a forever loop as current logic ass= umes that appl_ptr can only move forward. Fixes: 3d4a4411aa8b ("ASoC: q6apm-dai: schedule all available frames to avo= id dsp under-runs") Cc: Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6apm-dai.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index 4ecaff45c518..786ab3222515 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -86,6 +86,7 @@ static const struct snd_pcm_hardware q6apm_dai_hardware_c= apture =3D { .info =3D (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BLOCK_TRA= NSFER | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | + SNDRV_PCM_INFO_NO_REWINDS | SNDRV_PCM_INFO_SYNC_APPLPTR | SNDRV_PCM_INFO_BATCH), .formats =3D (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24= _LE), .rates =3D SNDRV_PCM_RATE_8000_48000, @@ -105,6 +106,7 @@ static const struct snd_pcm_hardware q6apm_dai_hardware= _playback =3D { .info =3D (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BLOCK_TRA= NSFER | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | + SNDRV_PCM_INFO_NO_REWINDS | SNDRV_PCM_INFO_SYNC_APPLPTR | SNDRV_PCM_INFO_BATCH), .formats =3D (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24= _LE), .rates =3D SNDRV_PCM_RATE_8000_192000, --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 8D40C307AC5 for ; Thu, 23 Oct 2025 10:25:59 +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=1761215161; cv=none; b=m7wXFHBSvBl3A0vo5NIZLSO/msK/4CEYMC/f1Urd4d7xp+XSAc0YPy51wPdxi8eu5vBnT7o3Eo/U6CmsbGAy1cnO5koTc9vdNDnJLA7XBxRBbLVCE5Cs1XM9MIdErbuI/gXOoaiPugl9GhHq+g6yKFQnPdankvyWMh/zfnNP0OM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215161; c=relaxed/simple; bh=0NX0xrr/Yc+5DC4N9bMIQUn7iisOTqFME7dif499+F0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dttinuJYq0KBCOYPedaq2h+x1c/g0H2yVYvjteM+0RhZP0iukiMfNK3xiv4ZKPRl+5dyGgrDqvsRxulwjoc2bQWY+6IqjCeXoLyNrdsnMDorPpmjIsZuPqwTK1PKjJmpF5/7RIGElmp4W0sFiBZRYwRmMNPY+IYTrYwq9N1ia1A= 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=Rx8YMLF2; 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="Rx8YMLF2" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N7ep0s026316 for ; Thu, 23 Oct 2025 10:25:58 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=rFyaRjCqrsV Ko5s83gYJ5NPJ5RtH4VSu/szdbYAmjEM=; b=Rx8YMLF2ki2Zt5b4l/45qX2MiQ+ HxSn4jUkFtd1xYRVeAz1B9d/D3Q5M+9HNXSJmJcZRh8lnYWFfYhwk1mfjG8goGbk gBiXBNJpZjtcVPZYSMRGf958bAr44gY+EtCayYRpJjlHURVdceISASbtrSMPIwI3 8NHIOb1eWTBmRijalxdgy6TJTPCbeKX2W7huimyPNZKEmOg6O/FNK/+iPd26Fig1 g/5RZCa6p24beG21dl/Buxxa+EcKzpKG6vGybh/ICv93AsKv4WnkwBnI5N+oLCnR NSl/dtu9EaAWUExiGqfZS+cxHKo0WRPVmUYDk9lS5o0h4mEaVfHlhxOysXA== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y5x8j42g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:25:58 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4e8a3d0fb09so8805701cf.1 for ; Thu, 23 Oct 2025 03:25:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215157; x=1761819957; 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=rFyaRjCqrsVKo5s83gYJ5NPJ5RtH4VSu/szdbYAmjEM=; b=rMTDkYyeDqm09epHx5Qaf4GICR7Uh5yROhyrCc3JGcPwqMbJww7w3NXBCr9V2Pbfgu Wvk1uKM/85WqLkVRaEKtrJE3PpffWC6rM0qdWTSgrTbIMAZtsuWccaO/MHEuzc8ydWol aoCNVuo9zuXDMojAAL5mZZNlRtqxXf6vamWWkN9KFnAI3APSLJ3nE/fo2wNP+2fG96XM 79A//Wa5y2LRbp0fjbLbkLuB7d2JrpPJ+9NyKAP3dAzaVj4kBwA7P6Hpam2koDKbjbvX Bj1mf5ky18glWPWKUfxmWEok6afPt8y7djctsuG7UYxCYEnlkkEjwYooAptMdpNFDkJj 2lxg== X-Forwarded-Encrypted: i=1; AJvYcCXW3EQbl9EAGAaNO6ToxqYf1nrUzYO5wjWCEvW+11vHuv+QfCAgKgM2xdNoGRKqouNIyWFsLMu7gVXsSsw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6xHNaOi7r6bTaBOGTYWx36jkNJ9gXgZ2jAy1NWVjzEEFDWIer rFgEVwkTldcp0J3pF3KWf64+7jN5FGgt/U6qhFU+WEIKpg/Ur/0Y1XH16j3jvTb5O/a5/uBxao1 Ce/xG0AYY6lYELUjN8XzfN0ZgSwGr15tjoU5rQocZdmkZh/GJJyoIpQahintYoJjeRiQ= X-Gm-Gg: ASbGncunG+YGr1fkdafL41Wp6z8q3a3kn46HdZ8Dlo/fG1mcNaiHKWHG8tdwsVCZvHC qmir/yZgKB071zuzhvrxVl+pDF2UoebqVOdkqP5J0BpsNcfBD/mxbvEcuOzbO6cttiQFtRRY9sb /Zq6JgNCvNvfZsSskNOFtcuPlxRtOV95stIelBJzW7ipItrpINvUNOmdrmKdgblnZx53z97BMD3 FfloB5TAMw0/qf/I5oAeBXHcoZanDImr0aoXVYpiRqDaa1Jxi0nwmdVF5Q+TUfEWe2fSo9zUTT6 i3b0WTnWUxmL2MPXJ/8jOq6yda9Xm0gmoVFOthvVWis98H+nznWEJ4SBOmZdqeDQlfajadf8KzN vpWrbM36JNJvo X-Received: by 2002:a05:622a:393:b0:4e8:bab2:9e0b with SMTP id d75a77b69052e-4e8bab2a3d8mr229158411cf.77.1761215157422; Thu, 23 Oct 2025 03:25:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEipUZPr/7bW8OGjBlVV+GOSronEBCQCGLlkN6DxGOE9VuhM0WSPcYLaWlph9XC0He1x3Uo4Q== X-Received: by 2002:a05:622a:393:b0:4e8:bab2:9e0b with SMTP id d75a77b69052e-4e8bab2a3d8mr229158211cf.77.1761215156957; Thu, 23 Oct 2025 03:25:56 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.25.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:25:56 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org, Martino Facchin , Alexey Klimov Subject: [PATCH v2 02/20] ASoC: qcom: q6adm: the the copp device only during last instance Date: Thu, 23 Oct 2025 11:24:26 +0100 Message-ID: <20251023102444.88158-3-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: CuA0yT3iBPufvfXRxNNUFMEo22d3SkOy X-Proofpoint-GUID: CuA0yT3iBPufvfXRxNNUFMEo22d3SkOy X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDIyMDE2NCBTYWx0ZWRfX5T054oLJbL3W 5jESkhDaCDpS/GtLfA6f4sXFQg2R28i5bl3/CBcPlxfA7atC15SqU4ehOSMCZqiRqwTz3MhLD+V CMEII+qH8UxC81AguJYemHLM48ZaJCsNz9SwT9Y+773/IPqwrZ320MnlaqSFJrK1TZncUjzWaJh Bn64SiNrLi1sBK7EW2gZOZmCyMubnNFHpfg9cGBlHioW5EkKDLhA8yK4wSR2BMzisr7F6kerV+N zpoFdDd8V8/zf6pJNDnTJnPP6nuc20JwB55wbOEdrx2ylGjxHLEGlQYqP4Lw9w/QFvjicNw9atK XDHVCLRXdWLnfCjvnAzDLtI8oU3f58s2PE++KA2EyP57XMjT1h/2gz4+S7nXFi/n1/mMKjLBF6Y u9KnYstczfLSrXA1zd8bGUc3HRuIIA== X-Authority-Analysis: v=2.4 cv=UOTQ3Sfy c=1 sm=1 tr=0 ts=68fa02b6 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=LQLTnAVHjxzgEifUwDEA:9 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 clxscore=1015 phishscore=0 bulkscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220164 Content-Type: text/plain; charset="utf-8" A matching Common object post processing instance is normally resused across multiple streams. However currently we close this on DSP even though there is a refcount on this copp object, this can result in below error. q6routing ab00000.remoteproc:glink-edge:apr:service@8:routing: Found Matchi= ng Copp 0x0 qcom-q6adm aprsvc:service:4:8: cmd =3D 0x10325 return error =3D 0x2 q6routing ab00000.remoteproc:glink-edge:apr:service@8:routing: DSP returned= error[2] q6routing ab00000.remoteproc:glink-edge:apr:service@8:routing: Found Matchi= ng Copp 0x0 qcom-q6adm aprsvc:service:4:8: cmd =3D 0x10325 return error =3D 0x2 q6routing ab00000.remoteproc:glink-edge:apr:service@8:routing: DSP returned= error[2] qcom-q6adm aprsvc:service:4:8: cmd =3D 0x10327 return error =3D 0x2 qcom-q6adm aprsvc:service:4:8: DSP returned error[2] qcom-q6adm aprsvc:service:4:8: Failed to close copp -22 qcom-q6adm aprsvc:service:4:8: cmd =3D 0x10327 return error =3D 0x2 qcom-q6adm aprsvc:service:4:8: DSP returned error[2] qcom-q6adm aprsvc:service:4:8: Failed to close copp -22 Fix this by addressing moving the adm_close to copp_kref destructor callback. Fixes: 7b20b2be51e1 ("ASoC: qdsp6: q6adm: Add q6adm driver") Cc: Reported-by: Martino Facchin Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6adm.c | 146 +++++++++++++++++------------------ 1 file changed, 71 insertions(+), 75 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6adm.c b/sound/soc/qcom/qdsp6/q6adm.c index 1530e98df165..75a029a696ac 100644 --- a/sound/soc/qcom/qdsp6/q6adm.c +++ b/sound/soc/qcom/qdsp6/q6adm.c @@ -109,11 +109,75 @@ static struct q6copp *q6adm_find_copp(struct q6adm *a= dm, int port_idx, =20 } =20 +static int q6adm_apr_send_copp_pkt(struct q6adm *adm, struct q6copp *copp, + struct apr_pkt *pkt, uint32_t rsp_opcode) +{ + struct device *dev =3D adm->dev; + uint32_t opcode =3D pkt->hdr.opcode; + int ret; + + mutex_lock(&adm->lock); + copp->result.opcode =3D 0; + copp->result.status =3D 0; + ret =3D apr_send_pkt(adm->apr, pkt); + if (ret < 0) { + dev_err(dev, "Failed to send APR packet\n"); + ret =3D -EINVAL; + goto err; + } + + /* Wait for the callback with copp id */ + if (rsp_opcode) + ret =3D wait_event_timeout(copp->wait, + (copp->result.opcode =3D=3D opcode) || + (copp->result.opcode =3D=3D rsp_opcode), + msecs_to_jiffies(TIMEOUT_MS)); + else + ret =3D wait_event_timeout(copp->wait, + (copp->result.opcode =3D=3D opcode), + msecs_to_jiffies(TIMEOUT_MS)); + + if (!ret) { + dev_err(dev, "ADM copp cmd timedout\n"); + ret =3D -ETIMEDOUT; + } else if (copp->result.status > 0) { + dev_err(dev, "DSP returned error[%d]\n", + copp->result.status); + ret =3D -EINVAL; + } + +err: + mutex_unlock(&adm->lock); + return ret; +} + +static int q6adm_device_close(struct q6adm *adm, struct q6copp *copp, + int port_id, int copp_idx) +{ + struct apr_pkt close; + + close.hdr.hdr_field =3D APR_HDR_FIELD(APR_MSG_TYPE_SEQ_CMD, + APR_HDR_LEN(APR_HDR_SIZE), + APR_PKT_VER); + close.hdr.pkt_size =3D sizeof(close); + close.hdr.src_port =3D port_id; + close.hdr.dest_port =3D copp->id; + close.hdr.token =3D port_id << 16 | copp_idx; + close.hdr.opcode =3D ADM_CMD_DEVICE_CLOSE_V5; + + return q6adm_apr_send_copp_pkt(adm, copp, &close, 0); +} + static void q6adm_free_copp(struct kref *ref) { struct q6copp *c =3D container_of(ref, struct q6copp, refcount); struct q6adm *adm =3D c->adm; unsigned long flags; + int ret; + + ret =3D q6adm_device_close(adm, c, c->afe_port, c->copp_idx); + if (ret < 0) + dev_err(adm->dev, "Failed to close copp %d\n", ret); =20 spin_lock_irqsave(&adm->copps_list_lock, flags); clear_bit(c->copp_idx, &adm->copp_bitmap[c->afe_port]); @@ -155,13 +219,13 @@ static int q6adm_callback(struct apr_device *adev, st= ruct apr_resp_pkt *data) switch (result->opcode) { case ADM_CMD_DEVICE_OPEN_V5: case ADM_CMD_DEVICE_CLOSE_V5: - copp =3D q6adm_find_copp(adm, port_idx, copp_idx); - if (!copp) - return 0; - - copp->result =3D *result; - wake_up(&copp->wait); - kref_put(&copp->refcount, q6adm_free_copp); + list_for_each_entry(copp, &adm->copps_list, node) { + if ((port_idx =3D=3D copp->afe_port) && (copp_idx =3D=3D copp->copp_id= x)) { + copp->result =3D *result; + wake_up(&copp->wait); + break; + } + } break; case ADM_CMD_MATRIX_MAP_ROUTINGS_V5: adm->result =3D *result; @@ -234,65 +298,6 @@ static struct q6copp *q6adm_alloc_copp(struct q6adm *a= dm, int port_idx) return c; } =20 -static int q6adm_apr_send_copp_pkt(struct q6adm *adm, struct q6copp *copp, - struct apr_pkt *pkt, uint32_t rsp_opcode) -{ - struct device *dev =3D adm->dev; - uint32_t opcode =3D pkt->hdr.opcode; - int ret; - - mutex_lock(&adm->lock); - copp->result.opcode =3D 0; - copp->result.status =3D 0; - ret =3D apr_send_pkt(adm->apr, pkt); - if (ret < 0) { - dev_err(dev, "Failed to send APR packet\n"); - ret =3D -EINVAL; - goto err; - } - - /* Wait for the callback with copp id */ - if (rsp_opcode) - ret =3D wait_event_timeout(copp->wait, - (copp->result.opcode =3D=3D opcode) || - (copp->result.opcode =3D=3D rsp_opcode), - msecs_to_jiffies(TIMEOUT_MS)); - else - ret =3D wait_event_timeout(copp->wait, - (copp->result.opcode =3D=3D opcode), - msecs_to_jiffies(TIMEOUT_MS)); - - if (!ret) { - dev_err(dev, "ADM copp cmd timedout\n"); - ret =3D -ETIMEDOUT; - } else if (copp->result.status > 0) { - dev_err(dev, "DSP returned error[%d]\n", - copp->result.status); - ret =3D -EINVAL; - } - -err: - mutex_unlock(&adm->lock); - return ret; -} - -static int q6adm_device_close(struct q6adm *adm, struct q6copp *copp, - int port_id, int copp_idx) -{ - struct apr_pkt close; - - close.hdr.hdr_field =3D APR_HDR_FIELD(APR_MSG_TYPE_SEQ_CMD, - APR_HDR_LEN(APR_HDR_SIZE), - APR_PKT_VER); - close.hdr.pkt_size =3D sizeof(close); - close.hdr.src_port =3D port_id; - close.hdr.dest_port =3D copp->id; - close.hdr.token =3D port_id << 16 | copp_idx; - close.hdr.opcode =3D ADM_CMD_DEVICE_CLOSE_V5; - - return q6adm_apr_send_copp_pkt(adm, copp, &close, 0); -} - static struct q6copp *q6adm_find_matching_copp(struct q6adm *adm, int port_id, int topology, int mode, int rate, @@ -567,15 +572,6 @@ EXPORT_SYMBOL_GPL(q6adm_matrix_map); */ int q6adm_close(struct device *dev, struct q6copp *copp) { - struct q6adm *adm =3D dev_get_drvdata(dev->parent); - int ret =3D 0; - - ret =3D q6adm_device_close(adm, copp, copp->afe_port, copp->copp_idx); - if (ret < 0) { - dev_err(adm->dev, "Failed to close copp %d\n", ret); - return ret; - } - kref_put(&copp->refcount, q6adm_free_copp); =20 return 0; --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 EAA2E30B505 for ; Thu, 23 Oct 2025 10:26:00 +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=1761215162; cv=none; b=sMhG+1/iIflgWUzpMOWzRdm2mTb0wS+3e8YxOuB1n7P5kiGpEtyHx8WOFzG9bi2jI92g1iWg86x0WP/Ok5lbLbM7Px8TMXEJMLtUl/eUFBPthF3Bqp4HRp3OvTrxMPrJQ6WL6F2KMnGXnokYSMKAY3R7RQYebvPwzQIciyJRBGU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215162; c=relaxed/simple; bh=+pEzU2CaP92P+tjHZGLYMYsO+p/lLdluRH2vfoyibvo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ROYRsr1Ci3lUKMliArha7LfxiYsivQzJwwMHfHUz5p8Pc/I+GgTR2qqMSrz4NdcoEgV7v1LBgs/MJPDWfkaSorTkJaBb16LBNSPbZOpwspEThdYUrQdSYtd9MuaUYkVHyQ6fz8dqoYjiLUfFRJMT7xGfxcI/ej7KEPibTNsOtqM= 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=bHD3C6ag; 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="bHD3C6ag" 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 59N7ArQp011696 for ; Thu, 23 Oct 2025 10:26:00 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=hugy+iqvLUJ 2cjxOk55z+UZwKkAMqHXBccnGqDcDbTE=; b=bHD3C6agXJdHa6WOJPjq+k2cj2e Efmk65n6JaL9JQox4iXtAsYb3tUz5HRd2dNh03JvSMyQtls+BNIfRxZvW4HZAJRN R/FJ1hCidjA/3meuFLicg/UNMQ7U9Hl3/IAndNM5JK3dzuRD1j72gruOQv35jdmu OuhMW7b3Qrc1CjZIIj4YzBEyseY7jF12jWxMzgjlqUafKIFybYBXHImFYPxZGQIV y8IuxH5luwGauiSOSHgMs7FaHx1Qa/aoLVJo/igQJXK8wrT775Rh+9qYj8uK0nEK 0rbJlfPmxx/QSNrZAMeuf/9hUSQqtBJpVarEDIJtLDgCr2LFJpCfLwAJI+g== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y524a74m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:00 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e894937010so18236331cf.3 for ; Thu, 23 Oct 2025 03:26:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215159; x=1761819959; 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=hugy+iqvLUJ2cjxOk55z+UZwKkAMqHXBccnGqDcDbTE=; b=drXumgXL/KGndDkiEB+CMMI/RJtVT7CYygqYYucCAdIy0izJzZvNFvgUprqKc5fre1 0/ttAyk6w0okgGUs6D5MD4tZT+h+/+zvQfZqrmPxqntmoWX8AwjLSr/WRXLOW2UwQTYy u1cLNwgQ1xsLqPgZyArqEdj1rlp5YznKrds69GybR7adirBoQX09A3ld4JRo2Ao3qTe3 Or0dZyD/QDw0etuiH9twpIOx9EVfDYc5cX9OOwoMFqI+o50gF/B8zJIrKVmTFDwaII4W G/42/bbQ/zjNW1r2IcMYIgHHI4MuuZ++WHYyolyjKx5UQhGaPKzZV1rJ2n/mvFUiAICs ILzw== X-Forwarded-Encrypted: i=1; AJvYcCWw5Fi/dSuZ/aEPHbR2vWgFS7cTovZ+XPc2Y8MMwLJAG2yyJVpv6YG3ReqhYV1XP52PwdiqjxG6WrVyxKE=@vger.kernel.org X-Gm-Message-State: AOJu0Yyw4b9LL0aPkfDoZUOxvmthK/hBBJy7tDcYiHf88BwwP54XyaeF bEnBywHn2GDRJDIX8imywnsUhwZtziQgNafE1kqv45EXA9pERjU8OAgQSpA3x1qLnmcG+dkpc1R /yYcVFD3fQ7DYPA6Q3lM2b5tbwtVWkY5rwekHhlHtEMYWPPD7fTzRWWx3udqrnC0pwHE= X-Gm-Gg: ASbGncsmkGzQab3wvtCwXLJDg5EMvBkotkJwk52aH6Wd6WF1i7JLD2k72MdlXjygNrV CLNDMCaoE7FGiD4jvfWDLdAHo0JCauaGptY+9HruFUTHe/kzvg1eGY31T09UULRXcjulIoUmPJD pVK5uYIGV22F7Y/aJA6yRgPCIO98J/TX1Cf88QXiUt1qgOXPmn7zLMoWk2F0h2uiGrAIlMwLjMf 4KMShKtNmt5vXmX9AuHD1xUQ5fGpOsgeNfcbCGr8So02zd/W+YHGMgbvruYEXQI7q0AVHAjiZff Ke1+Of2iv89uNxomovbCl6f6kM3Rvh/8gWqmrn+Sg9zOQXkSQCvvh36o6DPmxAWAoK3hXDmVe1a Vl0QCS4LfRm/S X-Received: by 2002:a05:622a:d:b0:4e8:b669:990 with SMTP id d75a77b69052e-4e8b6690c9emr204361751cf.22.1761215159010; Thu, 23 Oct 2025 03:25:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGbFZ/aAh022rvOoagwONZHMEh0MEWdYvgy0BQ8CSY0tqtrarJPhK0oSiMEE6Ys8biKzppMkQ== X-Received: by 2002:a05:622a:d:b0:4e8:b669:990 with SMTP id d75a77b69052e-4e8b6690c9emr204361541cf.22.1761215158490; Thu, 23 Oct 2025 03:25:58 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.25.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:25:58 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org, Alexey Klimov Subject: [PATCH v2 03/20] ASoC: qcom: qdsp6: q6asm-dai: set 10 ms period and buffer alignment. Date: Thu, 23 Oct 2025 11:24:27 +0100 Message-ID: <20251023102444.88158-4-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE1NSBTYWx0ZWRfX8DKG5EtLdkcS A88qDH/De7jeJFLHjDexkK4S49HF1iPi83xBSMssVE48IlkS5gVVOJ1Pgo5WrTW9bMCki0y33uP LXtTE0JvldtKXzhTkCLclgnz6gd570F8m1/kJxJ5/DH3fMpMjaXnog5XvR/VzBBiUOJx0Dfucq1 s0IMKhG0kjrS7BTCKXnxMg9BWPrAfxzv28W6PfsXeOBZ/6s16VwMoLfnt5zAjZZFPuVhKGohcQj qoLTlNrY9iretlg4IxSo+fcnYWwGu8w9eNfgba/IgI+LIn0/BvrqioDBuZ0Rkr410gHsrkOzeA5 8xidKpR/5GzP5TvJvbTtXrT4dyShNB9I5XIPmCf1ZB+jhPajnmHLKyBCrefUpyBCnoO8BE1LZAY j4wMSCpNSuDBxubrCDmNIBqeQfe6RA== X-Authority-Analysis: v=2.4 cv=Uotu9uwB c=1 sm=1 tr=0 ts=68fa02b8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=Ubk33e6zxpvlPXQfVdEA:9 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: jbS5oIKJla4-bgCm_zYRZZkMgJtz8Qfc X-Proofpoint-ORIG-GUID: jbS5oIKJla4-bgCm_zYRZZkMgJtz8Qfc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220155 Content-Type: text/plain; charset="utf-8" DSP expects the periods to be aligned to fragment sizes, currently setting up to hw constriants on periods bytes is not going to work correctly as we can endup with periods sizes aligned to 32 bytes however not aligned to fragment size. Update the constriants to use fragment size, and also set at step of 10ms for period size to accommodate DSP requirements of 10ms latency. Fixes: 2a9e92d371db ("ASoC: qdsp6: q6asm: Add q6asm dai driver") Cc: Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm-dai.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index b616ce316d2f..e8129510a734 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -403,13 +403,13 @@ static int q6asm_dai_open(struct snd_soc_component *c= omponent, } =20 ret =3D snd_pcm_hw_constraint_step(runtime, 0, - SNDRV_PCM_HW_PARAM_PERIOD_BYTES, 32); + SNDRV_PCM_HW_PARAM_PERIOD_SIZE, 480); if (ret < 0) { dev_err(dev, "constraint for period bytes step ret =3D %d\n", ret); } ret =3D snd_pcm_hw_constraint_step(runtime, 0, - SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 32); + SNDRV_PCM_HW_PARAM_BUFFER_SIZE, 480); if (ret < 0) { dev_err(dev, "constraint for buffer bytes step ret =3D %d\n", ret); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 8330130BB82 for ; Thu, 23 Oct 2025 10:26:02 +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=1761215164; cv=none; b=RnBOYBAZUMvFqOtb3ZpRxyDEGFuBXfTiU07cTv9x5PaQVVLH4fxi9UNneungDgoYqGa5KHVLyLfAVBClvWlr7T1L1kqqjTovRahBCaQdqzGHTpugUsoCBA9lClNG7nMqGWNMTz7GNvk8pNToVaJZsnov+yiCPzNpVkY9lL0uVKc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215164; c=relaxed/simple; bh=n/QDHw1ITWRby7vrBcC4hapXZgt2KFZCOKf4tNRyaaA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OBgXe5v+XlTje+FMpBTnjZo9I/mwsFe8zC5sqrEEkJOP7MvDAgBxpFh/XlPJlXcC1Bz+/uiuP/ugjx3/QxvituExlLnK1LB2Ad8VpesRqr0koXxS6QSYkjtHk0TqRgCFUZhR4InujsKFxUPXGFoHxMB9w6rQQlnMVQ5iTNQ2PrA= 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=ofp7nl/H; 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="ofp7nl/H" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N7fQOT026317 for ; Thu, 23 Oct 2025 10:26:01 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=jdyJtjan7SM H7wF51lvA8fxlxpPM+Q5el4ttALOfDg8=; b=ofp7nl/HBaXVLLvPU82S4U87eL6 Gy9EvPxlr17buAKxBAYQcnWxylx1Kg++K7y8RtBRTKCk3MLstr16HdN1ARN6pVcd 6RVXfXm0xPTCQGj/nALSmHn8Vhp9cjATvCuE6O0M0LXy+3TANJXVZWyvk18fC5yu DhnYPYKaIAXV4/YnAwL8b6PB0V4AKOQ8yxiNIrZbx1H4i4d1x4bL6mJYAmwgQa1A AfRV9HT8L7HoB1n3vE8Xr9iyfd+zhOYMtpboYGP+zNQ5WbHanUx0Qz8MYHuqnRCS +PnTudC3dlP+T7wAtvywk02KPHYcSn0Nvbasoqgqc+MFqSidEGwvkV9z9jA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y5x8j42p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:01 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4e8984d8833so30651191cf.0 for ; Thu, 23 Oct 2025 03:26:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215160; x=1761819960; 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=jdyJtjan7SMH7wF51lvA8fxlxpPM+Q5el4ttALOfDg8=; b=gPBC38SoiqSRObTD/8L9Id5gZxdKameQ8ULQkVEEWnqWDZ6uvkgHcM4ul+pMX3oMqh zHHNnzCl7I1jRtS4rQMeqcQTFi/5qtsi7e4Mpnb/ML87XfJDFTadco6U8P+S8iNbQgmd SsUQBtnaZBrgqxBX2nKi6PfWMWFjoKKq29SEzEzFtTSZ+yP2gPgpFnKOjUHR5b1kIyMK nC6HbAKO6J50vg3rXUxDbLLEGZBJUCwjVzK7MBSFKSLdrRtHwD+i9KJAGAJVkEtqKDih XrwjwCUEFOQD+ucTQXsL7qDl7C0Ex57F/RUJd9uIsvby5GaQfsxG3mzAaLL3adsRTS+F P1LA== X-Forwarded-Encrypted: i=1; AJvYcCUUWgH5oTHh/JuBCTK0+jIjHgWlezDDKrmY2HDAGFr/FHkuk3XGgftahyouKNUEdr/+/VrRGudq7xd8GlM=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8c09PjCLjCWnYteIucXxcQIVioUCWVQK9nLPHqh7zz0O7fkd5 W7JVwksA01CpxxE+a5JRwYXq5M3NeZfndjBJP7L0Z6yMJXUganKj+LFyY97NRTCHaSxe406vUb1 Y1D5bgPyDv2BeaDf66hfctWWaUTyq95ZG7OOIHgMdZrd8bScmxS4xo+hIYpYHq/QHZpY= X-Gm-Gg: ASbGncu9J+gvpIXriOnCekJW27UzbAKzjVDmy/exFpsx3NuFhZxlKwXuwDCHmteGNS9 KBb1l/tim64HzIenPA5ORClMLCcNPqFzLongRZsXWAmkVSp4Z5mNW5rN0NhyuJucsMn3ELnQOpp 3mBE5j503Y7ADNJmU3vD89g/2x41KeuHOLUK3GhzzIsStl/gXq9hP9mvLkvWlOc/VE8SRbMO/Kr JipwU16gi1hcqbxNDtkZSvEmXQYDTJLL8yc01S/+tfBDI0qE/rvtHyiQwmUB2HSB1GH/tQwXfp0 7DcoV76M3hHBO7U1MOzrFpdcIcJiZY1NsYGgWbgu7uYZU7yUdbEXOE5Nst1VUWhxkvpAe8P+/Z/ pX6s1qb72W7eV X-Received: by 2002:a05:622a:1827:b0:4e8:b8f7:299d with SMTP id d75a77b69052e-4e8b8f72eaamr207458361cf.68.1761215160561; Thu, 23 Oct 2025 03:26:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFD7wLSA44400aNfpBlMqCLaACZqamHhHypYbkYfQM4rxcD3dsHflxyufF1YmFN6YdHQzG4bA== X-Received: by 2002:a05:622a:1827:b0:4e8:b8f7:299d with SMTP id d75a77b69052e-4e8b8f72eaamr207458091cf.68.1761215160076; Thu, 23 Oct 2025 03:26:00 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.25.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:25:59 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Stable@vger.kernel.org, Alexey Klimov Subject: [PATCH v2 04/20] ASoC: qcom: q6asm-dai: perform correct state check before closing Date: Thu, 23 Oct 2025 11:24:28 +0100 Message-ID: <20251023102444.88158-5-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: SlCiL75sphUgaZdtxCBXmGeC9KWRMRBm X-Proofpoint-GUID: SlCiL75sphUgaZdtxCBXmGeC9KWRMRBm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDIyMDE2NCBTYWx0ZWRfX+WHDKRdkQ7wk ya2mZkiUV+wi1/v4L4HofgmcDuSxA6rhm6S2FcnD35DvVXRtYdcCHnH1/bygSEuAeZoZ2E0J8CM F1fFtLVqBSRxp6zLt51M8V7H6gFLfQlrYvYj2Wc0XhgQe6wjw6v0bmq4da8UkrtBVRhD87knirG PxnAv6G3dPfZf0Z5HSCEk899BMM/1sRrAztp2GPEU5VhPVU2D5Umda8edITm6J3osC1QWGbqDuS cfAVgv0b37Ki0S3Ti1BvooD2/jBO6x30HPBI5GSEzK1yxYSzThnDzu0YR3L3QwGUXzVAuxu30kw MirFGTJNhDDoMOA6WP5sphEbl8QLm/hPlyVoAlHm+IPHTHymYr35jf4mNgJcmfDbzrpD4H9osEX baXDzSnzTN/aMnEWSSJzqPCy9hiNyQ== X-Authority-Analysis: v=2.4 cv=UOTQ3Sfy c=1 sm=1 tr=0 ts=68fa02b9 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=MOmvoJmQv4oe-d1MVI8A:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 clxscore=1015 phishscore=0 bulkscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220164 Content-Type: text/plain; charset="utf-8" Do not stop a q6asm stream if its not started, this can result in unnecessary dsp command which will timeout anyway something like below: q6asm-dai ab00000.remoteproc:glink-edge:apr:service@7:dais: CMD 10bcd timeo= ut Fix this by correctly checking the state. Fixes: 2a9e92d371db ("ASoC: qdsp6: q6asm: Add q6asm dai driver") Cc: Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm-dai.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index e8129510a734..0eae8c6e42b8 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -233,13 +233,14 @@ static int q6asm_dai_prepare(struct snd_soc_component= *component, prtd->pcm_count =3D snd_pcm_lib_period_bytes(substream); prtd->pcm_irq_pos =3D 0; /* rate and channels are sent to audio driver */ - if (prtd->state) { + if (prtd->state =3D=3D Q6ASM_STREAM_RUNNING) { /* clear the previous setup if any */ q6asm_cmd(prtd->audio_client, prtd->stream_id, CMD_CLOSE); q6asm_unmap_memory_regions(substream->stream, prtd->audio_client); q6routing_stream_close(soc_prtd->dai_link->id, substream->stream); + prtd->state =3D Q6ASM_STREAM_STOPPED; } =20 ret =3D q6asm_map_memory_regions(substream->stream, prtd->audio_client, --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 4FE1830C603 for ; Thu, 23 Oct 2025 10:26:03 +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=1761215168; cv=none; b=fHBt/x2wnh2PvdBdk06F7cRUjEFgiDy3su9T+PN4Al6nMcm+MNIsMftxwtoq7GFSS0DQNCXF6dNa4MfFfAxSzkFBXZtIGUcdRkQbW0Yu5S9VfyTEIF8NReH+4a01DpILTE/0FJ3/6EDncvTP3ofbGMqEfV3Dv1XdkxEwHnzwcs4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215168; c=relaxed/simple; bh=xt8g4CkWUD5tNFuL4e7DXexZmzatqrNobgpEMGthfEM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S/y677d0LS4DBGRgx3ojYsQ6BA5bIdvF514/azVcaHi1uFmXbiWbd9eeUzZrcMs3L7qo4kl1KTVthhBGfh8rbeo4yvwSmh8pE8yOxk8fi1A1+sANOg8Xa1AHfmcn80j46BqdiFihJsrvcQ0rF4HfZHb57rIjdsGTh76Rh6pjO8g= 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=mL0wYE2d; 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="mL0wYE2d" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N84wtM021340 for ; Thu, 23 Oct 2025 10:26:03 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=wOyEzaoN+qW t6Jznp1azFKuIlaKA4mByl9VN5wTmOWM=; b=mL0wYE2dcg3zdMHZJBAlTA5hiNW WInhjP9s87NGQ1G5Tt2JpEJ93atbSoKMrUh/hm+FdnmewN75ZajdVAMStWEp9fN8 h/EqX/W54xH0Ynk2DWQvb1L04F+XCwIdtFb/I71I/KfdtWzy3Qauyjre8V4zcOju Ae6JzHitP2u9k0SOCjaF0uNbmtU9idsukrZG7vygW0jesgxMLzAKFnimUSeweHGL H2cOiv63Hfn8O/K2scPzCmjF3UwEXCFWMG59cNvmQ5up9oGjXZtKlr0D4PNH2Pzo Uyaq3N4LaV+PHd7YKx2Yxk+bNUkqPoKDuNoQSl0a1vzHAcNS44/CaNixVcw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y67qhywn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:03 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4e89265668fso19225061cf.3 for ; Thu, 23 Oct 2025 03:26:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215162; x=1761819962; 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=wOyEzaoN+qWt6Jznp1azFKuIlaKA4mByl9VN5wTmOWM=; b=VJhYWAM7ZcGfgY90EV6UgECgkKsnTnH0GXgQe5aGdHfeMoF7J80pZq8V4/kSmjdcLJ iQwU+2qwmfIFKJ1ihXPKMcinhkOFbJpgXcIh5+Dvcmo6GOdTa2gdol09XKAB+THYXY5m W2DYlbYaB8exZr2MfxoB00dOrYBaX1gsXqGo7Zasksa57UgFRXMQ8DRARANjxUZn/ymb 2cSbkNRMurefEUno2eH5mLPATNjpnIEMpJp7i0NBUGIo+iLVTI5qrMonWzLnjesNSsdg cFCPfhjvXNttlbLtIKfHZADAO6KHCFyu79YjnWaESlaz5zGe7yAfl/pPZuyvKAIzhhKN pXNw== X-Forwarded-Encrypted: i=1; AJvYcCVIHqgU2r1ffMXarIjAntYzjaPpj+AV4Knqg18MyCdfKvynIqODq/mfLKCzKnatGHhCHc5Q9ucweCgJvcE=@vger.kernel.org X-Gm-Message-State: AOJu0YwasBa7KuXEZ3JgqCtAqORoNunTBBmuvFNn/Obj6a+SIVw1zgm3 XnOX1MGyTbpC65dGV1M7L+4Af/aZbY0EczrZg3LiDkVT70siifHyES60s/8LWrCFC0846NVLoPZ LkbRnzzb+LOI0kZvfW9gQLMYrF3gJKR2IKLKNtfvylCjl8genNer5UnKLDs2AvbwH/1Y= X-Gm-Gg: ASbGncvFsFWPdajqbdjWGN3FZh26cEmM3cY6fNpzj4PBaIKkmBsYcr5kyzedsVeumUZ iPUKWzGOjaUNhNm7K2zCwHI+a8X7sLeCrlUi6zCf0Kz4luEwIDzjKPpZs6nF56qCHkHBGIjynC2 y9uXcqoGIqMsL8IX6ZsHGOwTtmKWtP9EuNV8eIqbpcGTw9qMRgjIEvTM7puQbDn0yzRUYolCmL1 0WphD8IARcGnvPXlSb4f/slGbsV8o/3ta5gpo4RA8htrhjtjHYaNqWswpw2FzjFtlPNjXtlUtug ymv+j1c5b93/HXHCuHO1BS9AULgGoVgufQIIkBHgGdKTYcVTsRN2DgtLAoissuaYEl/VRZG1eq8 +qV5i8xYWFKLI X-Received: by 2002:ac8:5a88:0:b0:4b0:677d:d8e1 with SMTP id d75a77b69052e-4e89d1f1d58mr292503621cf.17.1761215161958; Thu, 23 Oct 2025 03:26:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUSOijjLnGfv14M5wyZrvWbp/YZECNCLSsoRITcid+nA4Im70rZl0l1Vk5yeIEAGTdk6BjIQ== X-Received: by 2002:ac8:5a88:0:b0:4b0:677d:d8e1 with SMTP id d75a77b69052e-4e89d1f1d58mr292503311cf.17.1761215161436; Thu, 23 Oct 2025 03:26:01 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:00 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Martino Facchin , Alexey Klimov Subject: [PATCH v2 05/20] ASoC: qcom: q6asm: handle the responses after closing Date: Thu, 23 Oct 2025 11:24:29 +0100 Message-ID: <20251023102444.88158-6-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE2OCBTYWx0ZWRfX8QHz36xj23iG 7kIA+h07sasvYR7L+0VT3oHvlDB1Co3H3ll0/Q2LvhLCapVattB6WlPL2YpcCdaF9AD+bKe+HPa b8xvKmVrJsaFYlk9hLJk9oFZx+yDxXQzlOxMie8Vfb4Q6vjmMT4aVJklgGsl/fZhdUCUmcVT/Mt 62ZTztx8MCmE0ap9a9XJRFlYf7N9hcEtmpaouF2Pl83jQz6ayRF9V9SnO3qLWJ0iUv7Gf3HTx7y zgWDO0lcTWC7lyPn5CwFYZOHLHcoSoDQC5SkhHewVLpQ2U2RBRYtJ/lJvauBz1IXML1oS5mOhtI shgdWbwDTc6hnYiNqpHSOWoCCNMR7kaynQF3QGjUA3IO/ODFml66nDJlFmPTeSHK7MlV6xjrC1y ziCexlJ8zRH+3xk2Sb62IOfWv+MszQ== X-Authority-Analysis: v=2.4 cv=LMRrgZW9 c=1 sm=1 tr=0 ts=68fa02bb cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=yqanLTD2VdNSX0FXSJEA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: GPTeVqPkg4koOSyE3ZJIK_RObGMFIDhF X-Proofpoint-ORIG-GUID: GPTeVqPkg4koOSyE3ZJIK_RObGMFIDhF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220168 Content-Type: text/plain; charset="utf-8" For record path, multiple read requests are queued to dsp in advance. However when data stream is closed, the pending read requests are rejected by the dsp and a response is sent to the driver, this case is not handled in the driver resulting in errors like below q6asm-dai ab00000.remoteproc:glink-edge:apr:service@7:dais: command[0x10dac= ] not expecting rsp q6asm-dai ab00000.remoteproc:glink-edge:apr:service@7:dais: command[0x10dac= ] not expecting rsp q6asm-dai ab00000.remoteproc:glink-edge:apr:service@7:dais: command[0x10dac= ] not expecting rsp This is same for both write and eos. Fix this by allowing ASM_DATA_CMD_READ_V2, ASM_DATA_CMD_EOS and ASM_DATA_CMD_WRITE_V2 as expected response. Reported-by: Martino Facchin Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 67e9ca18883c..4c3315d4e27d 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -638,6 +638,7 @@ static int32_t q6asm_stream_callback(struct apr_device = *adev, client_event =3D ASM_CLIENT_EVENT_CMD_OUT_FLUSH_DONE; break; case ASM_STREAM_CMD_OPEN_WRITE_V3: + case ASM_DATA_CMD_WRITE_V2: case ASM_STREAM_CMD_OPEN_READ_V3: case ASM_STREAM_CMD_OPEN_READWRITE_V2: case ASM_STREAM_CMD_SET_ENCDEC_PARAM: @@ -654,6 +655,10 @@ static int32_t q6asm_stream_callback(struct apr_device= *adev, goto done; } break; + case ASM_DATA_CMD_EOS: + case ASM_DATA_CMD_READ_V2: + /* response as result of close stream */ + break; default: dev_err(ac->dev, "command[0x%x] not expecting rsp\n", result->opcode); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 4CEE330BF64 for ; Thu, 23 Oct 2025 10:26:05 +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=1761215168; cv=none; b=WRDAOCjmGa9Rk1HXCliAs2LSJtASn4MoBfTO4ccz1bk4yT5dN95Bj2ZugK/Ns6Drcc1jfhVmu4mnzAIZ+zTIJ4B+4Z0McW9mUrlkmkIQXSgip3rAkTmZqV6/siGdKS8THEKwM7AOYC5Mu3dKZHJZ+nyiczsaR+Mm6OZhFbiXFP4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215168; c=relaxed/simple; bh=ieJ1PEQ6GbV1MRYhe9aHXa9mk9fDmXMMbeDZ+4DJtuo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BUuzQ6/2WRP6hNl6pzpBIDFePrXidA2zCLnibu7lt8QTxXlAfGO7eVaFKtk6kiHXe9KGrOeUqpFdWKHjgaje+n0vSz3WTUmYnTOpw76vHHO/UVGSzDrTnw/X0pipgy5h6q1VDDR04+i6v3a1kZCFGIUFS0/XZmz8B/y9Xte/4/g= 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=ifzfmThc; 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="ifzfmThc" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N8GQk5018500 for ; Thu, 23 Oct 2025 10:26:04 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=+DNR7aXOr6C c8NhWnDKFKEl9U/PHu41xc4EUdoSLJW8=; b=ifzfmThcG0p0X7YOEeUnP+XljfS WO2XQKlwqTnnXn1akur1Ic5qkCTs1RjnOJa3COpOuSgtppo6kSPxo8jWDpStYD8e AzJ2PAIpkTjRKTFivjHv43C15ycm6rN6X1c24J67Uj5cyJdP91n6Ytf12jJyZOny oByygkd4k9BdEzjvmufOBGBrQzyB2bZRAzDN49KVvBEuDIH8T6n9k0yH5w0Y4h9/ I52MlJO9GBQknL+GNSFOa2DPB3qCa8b0DWuciMwTS1xCDyudKKnRAnXLFnoOJFrP Hof8GPy3F8hkSTMY2AXKK5ZpUhNrfd/Vq5k+wokt19w9sAzqF0s2kZ/ss5A== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y67qhyws-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:04 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4e899262975so20123761cf.2 for ; Thu, 23 Oct 2025 03:26:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215163; x=1761819963; 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=+DNR7aXOr6Cc8NhWnDKFKEl9U/PHu41xc4EUdoSLJW8=; b=RmMtljsR59qy7qDYCPYlf9eRSKkSHuU684P4KeFQoxTBpuVIBghMLI3sM/4s8DR2gJ QirYpxDKaLPEvr4+BE3pufCfhGVcBPbzb9mbEXgsUErqjfFyLPKrYW2SsjOsFPFX3HYF 3tldrNY7UfTXOt2rhDNuMrGq8RHad88Zr0YMjy7EyA984ODZ0la0Z7+LQcjgm94w6nA3 9/BFf0qUMc5V+HZZCITudStFwZbJgtt7xO1qhO9JGnF2SRf3uYIibvJC1PZjqeBRBNqf qbjh1DOmXzkn29I+NjcEnue0JlICB88Nv74fz4QBkpSE2mb1vMeLSdgNtwnlAB88xAX3 gamg== X-Forwarded-Encrypted: i=1; AJvYcCXTxn1tA1DrOtUC4HQ5B244yMi9J0nDmDr/MdMyWzfod4y/ZvW+aeyRu7+ZPz3zvpSAJgBTd0qCzzZ7ofA=@vger.kernel.org X-Gm-Message-State: AOJu0YyPL4M+RH/ltWv0GKJ2Zl1BtiI+Aa2fbTx1F6BXTEKSC/gSC0Oa fNU1wPXSQkPpdDokZyhduRhhNa669znt/t6mv+AlKZhFwmre/y5Lx5S/4oMO7pND7bfjVkv14Kw jpfbsyH6hrOQ1re3Y9t0pw5FAosZjvCS4eAWa1yMWE9hoCFnatf8CfXezHHpmZtJwuUA= X-Gm-Gg: ASbGnct3XDTJurfI+TXCKmh9S979rx1Liss++wSkZMYjXjd87j8ha1k04GU4SwIJr3j OOZRWmF3ubiMb0I2N9EW4G7YLXlw+x0V8b0VocU1vospwzVoLculLeT759inNKTlvtDURSIFt2i rszUNHIX8KUCc2Tx0Au7Rc3i1hI0NRBjjUdyT90AuIqXP3nm/t6dPtfKCjVgdV2BB/AlUMSKOSo 5irUCkpPoJSW1akawNHwMUMQMqfpTkDJ4+JvXlAUrdeS3el6xeXnBjP/5dMTOz6cna5j6o/jt4s 7yyeb7uk53GzQu94YQjm1Vct1UvXTpKeUspVDF8imrMfHhpekKPuxxa6V9GLxzKK1wzFjGjRmTq xYfVmzGlMK0jy X-Received: by 2002:a05:622a:198a:b0:4cd:53ea:2346 with SMTP id d75a77b69052e-4eb81056553mr19376101cf.19.1761215163285; Thu, 23 Oct 2025 03:26:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHGLrq11of8oaXYjc2gxcB149UaqLBVuJAPIgO2WDbhf9e7h/dtIgGOKVO0dmmn98IJDw5XQA== X-Received: by 2002:a05:622a:198a:b0:4cd:53ea:2346 with SMTP id d75a77b69052e-4eb81056553mr19375951cf.19.1761215162837; Thu, 23 Oct 2025 03:26:02 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:02 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Alexey Klimov Subject: [PATCH v2 06/20] ASoC: qcom: q6asm-dai: schedule all available frames to avoid dsp under-runs Date: Thu, 23 Oct 2025 11:24:30 +0100 Message-ID: <20251023102444.88158-7-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE2OCBTYWx0ZWRfX9bEiYg82iZsF LkYHEBG5iU/n7x7LQJqdCOZRsbgb48HWoFhQcXY73TfhqHSSfVopqd8ApAyorLz8klQVfUVStEk 1WhD85wPRSo9t0/agL8QCp4qzatEpiWRK71OwRTSY7Wgb96GTioQMwxSr1Gg8eZdtpiyumG40ZK RDWvAo1JsHAhLPrMRM40Toa4m7GrjHSq0fA35Ow1j73NUq0OqL4QnHpfnMJm4WTht9kNinzDi6n pN9mhznJ+VdjarzccQ5EqktwIgq9ZgPWhKxr5iWwPsHtzxasUmWZk3xlA/ELhdpDFtcPQAlt558 5pp3kdUp8O7XDDhVcK6KUjvJYl4Zn6Pt0ZlOlBaL8plVWS+y1miOoGwU/CYYHJWHSwPmM40oeGo Nn/lSU/kuOs7Nir1xs7VNppJBydtBA== X-Authority-Analysis: v=2.4 cv=LMRrgZW9 c=1 sm=1 tr=0 ts=68fa02bc cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=Towqb0HgaKl9JIg5mcAA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 6MUZu2ez5gFCo6B3TVSB9QZkhq6NMUTC X-Proofpoint-ORIG-GUID: 6MUZu2ez5gFCo6B3TVSB9QZkhq6NMUTC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220168 Content-Type: text/plain; charset="utf-8" With the existing code, we are only setting up one period at a time, in a ping-pong buffer style. This triggers lot of underruns in the dsp leading to jitter noise during audio playback. Fix this by scheduling all available periods, this will ensure that the dsp has enough buffer feed and ultimatley fixing the underruns and audio distor= tion. Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm-dai.c | 34 +++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index 0eae8c6e42b8..db2ea8973ac9 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -64,6 +64,7 @@ struct q6asm_dai_rtd { uint64_t bytes_received; uint64_t copied_total; uint16_t bits_per_sample; + snd_pcm_uframes_t queue_ptr; uint16_t source; /* Encoding source bit mask */ struct audio_client *audio_client; uint32_t next_track_stream_id; @@ -85,6 +86,7 @@ struct q6asm_dai_data { static const struct snd_pcm_hardware q6asm_dai_hardware_capture =3D { .info =3D (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BATCH | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_NO_REWINDS | SNDRV_PCM_INFO_SYNC_APPLPTR | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), @@ -108,6 +110,7 @@ static const struct snd_pcm_hardware q6asm_dai_hardware= _playback =3D { .info =3D (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BATCH | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_NO_REWINDS | SNDRV_PCM_INFO_SYNC_APPLPTR | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), .formats =3D (SNDRV_PCM_FMTBIT_S16_LE | @@ -182,9 +185,6 @@ static void event_handler(uint32_t opcode, uint32_t tok= en, =20 switch (opcode) { case ASM_CLIENT_EVENT_CMD_RUN_DONE: - if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) - q6asm_write_async(prtd->audio_client, prtd->stream_id, - prtd->pcm_count, 0, 0, 0); break; case ASM_CLIENT_EVENT_CMD_EOS_DONE: prtd->state =3D Q6ASM_STREAM_STOPPED; @@ -192,10 +192,6 @@ static void event_handler(uint32_t opcode, uint32_t to= ken, case ASM_CLIENT_EVENT_DATA_WRITE_DONE: { prtd->pcm_irq_pos +=3D prtd->pcm_count; snd_pcm_period_elapsed(substream); - if (prtd->state =3D=3D Q6ASM_STREAM_RUNNING) - q6asm_write_async(prtd->audio_client, prtd->stream_id, - prtd->pcm_count, 0, 0, 0); - break; } case ASM_CLIENT_EVENT_DATA_READ_DONE: @@ -311,6 +307,29 @@ static int q6asm_dai_prepare(struct snd_soc_component = *component, return ret; } =20 +static int q6asm_dai_ack(struct snd_soc_component *component, struct snd_p= cm_substream *substream) +{ + struct snd_pcm_runtime *runtime =3D substream->runtime; + struct q6asm_dai_rtd *prtd =3D runtime->private_data; + int i, ret =3D 0, avail_periods; + + if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK && prtd->state =3D= =3D Q6ASM_STREAM_RUNNING) { + avail_periods =3D (runtime->control->appl_ptr - prtd->queue_ptr)/runtime= ->period_size; + for (i =3D 0; i < avail_periods; i++) { + ret =3D q6asm_write_async(prtd->audio_client, prtd->stream_id, + prtd->pcm_count, 0, 0, 0); + + if (ret < 0) { + dev_err(component->dev, "Error queuing playback buffer %d\n", ret); + return ret; + } + prtd->queue_ptr +=3D runtime->period_size; + } + } + + return ret; +} + static int q6asm_dai_trigger(struct snd_soc_component *component, struct snd_pcm_substream *substream, int cmd) { @@ -1215,6 +1234,7 @@ static const struct snd_soc_component_driver q6asm_fe= _dai_component =3D { .close =3D q6asm_dai_close, .prepare =3D q6asm_dai_prepare, .trigger =3D q6asm_dai_trigger, + .ack =3D q6asm_dai_ack, .pointer =3D q6asm_dai_pointer, .pcm_construct =3D q6asm_dai_pcm_new, .compress_ops =3D &q6asm_dai_compress_ops, --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 4F69230C617 for ; Thu, 23 Oct 2025 10:26:07 +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=1761215169; cv=none; b=UtpTmcaUnzlrvBhO/iADB9JK4PHpNTDvHRz0xFUl22M4KjAYsIRg/fj9REsvexEwqHogAVS9DTjOr09miOyDJfUeoznZSxA4lWuoMbvIo8iBV4iRT5JxiuL5xpht/xacihaSJf19ORoPbuQO0szew2tawONRxGe6R5XJNwGENVs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215169; c=relaxed/simple; bh=0eLCFL8V6+g5aAvq4dDgsIASiuIJt+qI3LKNCvOALz0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Pu0Fo7i3y3Zv3UnsdwezmvMNPMFzZqwjLhOI5bEqKyp3pCpgqZ08m1N2WVUdrZMpAWjRlXNZRaRQ7OVklebyUV8VrBVMo6PldIQpDk7aJsPRUgdepejn32RZTOY2AGnKZgVWhW6jlx8SI45uRQpoWxIY86c/UZUgSmPwn0XjH8E= 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=opCjfWSk; 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="opCjfWSk" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N84wtN021340 for ; Thu, 23 Oct 2025 10:26:06 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=PERB36M8V8P bxoKI1dQPG3pXRrOqc3fmNLU93lba5Ww=; b=opCjfWSkrLd9OfhPAvpo/z8tFne o7cTwGLk4jcNHqNABAJhTBQf6MX3/NT+Mw8EOrauEJSnJkX2UEcLWXJUhHtAN2I1 rfR6FyBvBfVKXJAIStHSLL+FJFY5dtJSY3YH34duNmnt7yJV6sgKTdt+CH/hGYjH DrJUfvyubR9m230AWIN8Fd1gKxabWpqIWkA4HedVTsoSwcNVwAAmdo+FucGCabS+ VDqrvm42M33SnAX3/NT3OQzMcKQ+2ZpPgtDo8LYtHitSYKYUbpOlfjzDjk1zdm4A gArn5cuiIYPUyFb6lYEuUPjYgMLVZFArJv3liYoBAhTgukZ5c28KgS44OAg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y67qhyx1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:06 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4e895a6ca73so4730421cf.2 for ; Thu, 23 Oct 2025 03:26:06 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215165; x=1761819965; 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=PERB36M8V8PbxoKI1dQPG3pXRrOqc3fmNLU93lba5Ww=; b=Pll2FekoLTJYGqKHyClH2VPRt9wTJGgzX55JSCTZ5L+hqevnw3f3Z1O9V3aqibd7lU mgLG3S30nSNMRtyTvxXsn5JvcCosSOtEdR04rbWtPnWs0ykwnn9aesz/2GGWI+skAYWc EM05jG0+P4yee4LKYXwPX+ABgaSTiQLJlsik3ZF3JwmdNdPheycACpeb69kh4gKHFtBL vQ4dvEdiFd5Ycb32yvI2lIdb6ZKT4Oom6Bnmt+PU/VPfuKWImYOu2pbWiTmZ79KNmG1q TmN4Oc6OicTUPs1wr8ymFgtZ+5xgY1UQfH13yFEpBLqjywMdEK7iB3950rw7dklPX9Jh GjLg== X-Forwarded-Encrypted: i=1; AJvYcCV7hDwVTIyQA4iYxL7SY9xTgRSzf1dq6tuXSZbqQl1WK3ui1Z20kAmMNY22UfeowWt6WXoWXG7CJK8ONSk=@vger.kernel.org X-Gm-Message-State: AOJu0YwSxVKy+k1QM4eA++9dYNj50ACQr1P2D3KmiK6x3MjekBDU7fjG FqiGllhbtFhvjPFJ7d9jHhCHQUEPNMJ4/ydcZUmrjlCnLeRwb0sUOrGd3SocEqG0GFDgCMoOhIR NTHwFC10NXKuYYfT3w051AB0PRGiFi724Xv5YaWuRb+HuKBpSNWCq+Q/Hm/CwSjnxa38= X-Gm-Gg: ASbGncsheb/j4+JaVcwK1sVL/uOqJi4ZhIk5Jq3ocmq1epOucmsnepzCJ1LDrMQwQeH zlUv9iSUBj/iSdYjJjiWhk0Pa0zU+K+mNvK56UQVXJSAsatopndtKFxuPZgexweJjtvNnYRXPJX AB6lrmIpwXIQpg7pnaDtmwANBnklg6lVIp5Bc0/nSup2hvGo4c6sOrWsTlLUduq7Qa7AAjlMQCg DFBuvkOUFgQHQjEgCBDSLpjZ9JsBaApSs5P+f4Mo8oeMvLa2uoxsQibuyhwwy6HFsdeXnZSZln/ 8MVJrIReGxl+Cq3Ax9fsD2xsKaGZe73RGvmW+tVczlE9UnXI9S6tazs7NFTDEtXJPC6B9S+AfRj FCjsKC3xNqk10 X-Received: by 2002:a05:622a:343:b0:4c7:130f:72ef with SMTP id d75a77b69052e-4e89d208482mr276254241cf.9.1761215164880; Thu, 23 Oct 2025 03:26:04 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFn5c8+iIAXzjyMz4gZOYSOyXoRyeSphaR9Vzxq59ZuEp7n5WLDJ/muqEKidQjFCzQUmKv27g== X-Received: by 2002:a05:622a:343:b0:4c7:130f:72ef with SMTP id d75a77b69052e-4e89d208482mr276253891cf.9.1761215164223; Thu, 23 Oct 2025 03:26:04 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:03 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Alexey Klimov Subject: [PATCH v2 07/20] ASoC: qcom: q6asm: add q6asm_get_hw_pointer Date: Thu, 23 Oct 2025 11:24:31 +0100 Message-ID: <20251023102444.88158-8-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE2OCBTYWx0ZWRfX8ynQb4VoB4Ax n1rXDDfqKCRsj34bgSavqDQB6Od0bTuDYZGSR4sJ8LLhR9y0GDVv00x/8gVWrMvT8RxfgjUzcUE DZbW7u+cTf7sSt7CAQjfnve4Xy4Cwukos6HOWXHsO5oUyyO+4fZVsbFgjeBSVjbv1sbVen9uJyE oiey4L0eGrIPo3kNf7jBaUD0EnrQoYX9MqDHU7D6N9ZR+PF9mYwWTsdZupwajKFFYvf9I2G9YOO FmXjLQOK0VV5THGTA/3Gxb1cJH/g6nL/njbctu3PT/QPt/KElVdu1KatGP1lIMEBGqgFlZA/PK8 +Z38ERv6yAwEbveuMA8Kpvw3+1kxUDf4IqMZBHj9uFB8qIDvK0TOGP83jdyCxBwcyE6GIaJTtng 5+2E8ONe0qRcSkDJjfJWENX69+dBMg== X-Authority-Analysis: v=2.4 cv=LMRrgZW9 c=1 sm=1 tr=0 ts=68fa02be cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=Xpi1c-eeJLz4SkQ0e-MA:9 a=uxP6HrT_eTzRwkO_Te1X:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: rpjCNIl6fbxLByemyQOHONXuX2EgkJ8V X-Proofpoint-ORIG-GUID: rpjCNIl6fbxLByemyQOHONXuX2EgkJ8V X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 phishscore=0 bulkscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220168 Content-Type: text/plain; charset="utf-8" Currently q6asm-dai is performing an extra layer of calculation on the hw_p= tr, which is always prone to errors and redundant. q6asm already has tokens to indentify the pointer pointers which an be used to get the hw_ptr and this is more accurate then doing the artificial calculation at upper layers. Add helper function q6asm_get_hw_pointer() to get this hw_ptr. Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm.c | 12 ++++++++++++ sound/soc/qcom/qdsp6/q6asm.h | 1 + 2 files changed, 13 insertions(+) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 4c3315d4e27d..1478948f9fe2 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -248,6 +249,7 @@ struct audio_port_data { uint32_t num_periods; uint32_t dsp_buf; uint32_t mem_map_handle; + atomic_t hw_ptr; }; =20 struct q6asm { @@ -598,6 +600,14 @@ static struct audio_client *q6asm_get_audio_client(str= uct q6asm *a, return ac; } =20 +int q6asm_get_hw_pointer(struct audio_client *ac, unsigned int dir) +{ + struct audio_port_data *data =3D &ac->port[dir]; + + return (int)atomic_read(&data->hw_ptr); +} +EXPORT_SYMBOL_GPL(q6asm_get_hw_pointer); + static int32_t q6asm_stream_callback(struct apr_device *adev, struct apr_resp_pkt *data, int session_id) @@ -703,6 +713,7 @@ static int32_t q6asm_stream_callback(struct apr_device = *adev, goto done; } spin_unlock_irqrestore(&ac->lock, flags); + atomic_set(&port->hw_ptr, token + 1); } break; case ASM_DATA_EVENT_READ_DONE_V2: @@ -721,6 +732,7 @@ static int32_t q6asm_stream_callback(struct apr_device = *adev, } =20 phys =3D port->buf[hdr->token].phys; + atomic_set(&port->hw_ptr, hdr->token + 1); =20 if (upper_32_bits(phys) !=3D done->buf_addr_msw || lower_32_bits(phys) !=3D done->buf_addr_lsw) { diff --git a/sound/soc/qcom/qdsp6/q6asm.h b/sound/soc/qcom/qdsp6/q6asm.h index 519e1b3a3f7c..6fafda5bd849 100644 --- a/sound/soc/qcom/qdsp6/q6asm.h +++ b/sound/soc/qcom/qdsp6/q6asm.h @@ -148,4 +148,5 @@ int q6asm_map_memory_regions(unsigned int dir, phys_addr_t phys, size_t period_sz, unsigned int periods); int q6asm_unmap_memory_regions(unsigned int dir, struct audio_client *ac); +int q6asm_get_hw_pointer(struct audio_client *ac, unsigned int dir); #endif /* __Q6_ASM_H__ */ --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 A751930CD80 for ; Thu, 23 Oct 2025 10:26:08 +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=1761215170; cv=none; b=nOSbHxNDxyPJ++BiGph+ZAScOsPld4zDmC4re+XZZQzp+WsKgSvYo5NggfmPW8kmMUlTL4rL+cVBGqsB3F3V/U+IvmyGBM5HWKyNzusiXJMN0KLickoBSbOd/v6QklFNWzdPIatJORWo1pDbidbpNammwWKtD3qC7NwcPdY2KL4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215170; c=relaxed/simple; bh=tFt+bVXUcHDK5C0sY2xTPU6k+atp8RIvt14CRRC4kxw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zka1t7xP97EDW0l138KNHDXzkhJ/bVl+QoXT1MnbDzf51K92f5LM8Ws6roKsJu84MU4/E/6hfwvgnIx7P1mv6K1R1wwaV6yEKIY1dFg15ymK+BTmXnOsxiEv3G6c463kXg6VAYlF4TTq80kysOXrI6HjISu5CazLqAA1pdUMjeI= 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=lk7MBXq7; 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="lk7MBXq7" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N6WcrR015966 for ; Thu, 23 Oct 2025 10:26:08 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=icrZGM2TvKV a7LlZmhEJzlmHF8JdB/JFgQoOJEUzghM=; b=lk7MBXq73GZvUNxRKLjjurfPmGn yM0TOiSaEzGJmhX/N9ajr70dmXLhmWCNhe+1O7VQWLtx0l9gwAf8YyWUX+ONbMLK veudsgdCUl9OVzNoKc0SjejlZDxBvF9QC/NdsqCC1JGA5HCNtttSbRJArJNmYpLD x2SX2MA64K5TIjC94Xf1t6ai5LIfPZZPLXyzvyeFW/I5fEIT8v++Knr6WDEoEsOB aDASu6+OCdvfc0sayrIe8mPI+cl5RQqhOLkogIBzDJ3KIkhgOHr/OweHK6kr6ifp Z/berLnbEipWxGj9PwC/HO1VOEdQV5+4WRiSYS9hbjKHPOfsvgTJaoiH3yQ== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49xkpsdmux-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:07 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e8a387d01bso26940361cf.3 for ; Thu, 23 Oct 2025 03:26:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215166; x=1761819966; 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=icrZGM2TvKVa7LlZmhEJzlmHF8JdB/JFgQoOJEUzghM=; b=KNPSwc8cj719FwdGOZ3qGHORU5j6DfRvZ5s+StpjNGC69Lq2K72FYTuEH/ZVuYZHNS Qs4GcPGZSYWHgfsr0+O9ZUR/+A3eoA4r6g0oNfDKq7hJv+7P3wtcCPJHoBhKSijamdYb oFqb2V5a2ZDaCAyD5InufpUUi42KBLZhVd7KZ4QYZwucr9MqAi1iDTw7uSNijF2Ue0lX Xp6Xee2H+dcO0tzGOVTJuT7TsiDTCJKU+s+hjzS1ScU9i9q5fH2gouND+g/57LrGqaCb cx+J96LF0XATQ5N4Py3qZhPRwEPWKtDp1EInyrQPjehF7iPtzB7tNSnTxxmd8y7DIAHL qdGw== X-Forwarded-Encrypted: i=1; AJvYcCV+9l3gE/pPCmxbPueVjJrfiK7gDRnC/FlWZtrColO2FdDSWuURbdDzHNAdGDnXfu52pnxY/fJdg245pYQ=@vger.kernel.org X-Gm-Message-State: AOJu0YyEIj3Xuh31ZDzpxv+0+Xk+ujG779l5M7BflorMOwMGlCwqSgN1 TgNK5ZNB3CFrsiYIs1eBuhTDsfVatdiXdOwmJCi8ajXwy+bC0ruetVjp+Peil8/kPZFcFPiDsFA ScOe/+bD/gjWrHTQLzp1dIvLZra11STKwv6wHxKKWWb01FeDep9MaueXUFalMzlvQTxA= X-Gm-Gg: ASbGncsTNakJlFlWhF99ENGY0ubBcuUgspno2dTTFJRhh/naXHl/Kcbmu/CKs1nS/Xs qWPj8j13f/yMGAIFJ+QULh+/HIjqrP3ul1Sun/RF4vjl0rmJB2nqVpKzAFqzjDXfb9rX9XdI4lu qHKAejlHoJlXDgmSHlx66MUd9CXzU5OBNrh3ucDY4s79Zf0zDL3UgLlDTCXQsvoA9opaL9NoDi6 vCcRkkZc1kCnqtEMPZiTVENudqQvcaYo2N4NkRSmeJc6KNpKZaZ8+Of08OhtKS9Vf4ILbCbc+2L N6bVG7mnP+LmBxg7QWHgqX5PCRfQCT/+P3C6csxVDYGYO/xEYtno+PN64FJPdQ05bL13nJ3cDTC d8WFTHc8DCJyg X-Received: by 2002:ac8:584d:0:b0:4e8:a7d6:bbfd with SMTP id d75a77b69052e-4e8a7d6c13cmr270609111cf.81.1761215166430; Thu, 23 Oct 2025 03:26:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGE1nUb2mvyUJPcGAqiOlIO452HBSW46UgTgNvJ8RYJBBPoflO3K2RftR1udb7Nc7r+XaEXrw== X-Received: by 2002:ac8:584d:0:b0:4e8:a7d6:bbfd with SMTP id d75a77b69052e-4e8a7d6c13cmr270608781cf.81.1761215165718; Thu, 23 Oct 2025 03:26:05 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:05 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Alexey Klimov Subject: [PATCH v2 08/20] ASoC: qcom: q6asm-dai: use q6asm_get_hw_pointer Date: Thu, 23 Oct 2025 11:24:32 +0100 Message-ID: <20251023102444.88158-9-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIxMDE5MCBTYWx0ZWRfX16Qcy9EOOdQP Yoy8DzLSl2Jdfb/GjgIJeafaKjtZK6nBkZ/Z9qNneZ08Dhjgo/qKPHQY3CKXG8A3gLQqaw+M0x3 bfUybF8n5X7kKJcvlDDSW/UGRsz8jNn4kwN2IfAG9XNtBYtjT2X3aBzJa3Pc3ZoEYKPgc0SliM1 F3F0PVr7WFURTL/TgA1JqOqbzZWf6cy5GtHOVBD7StGTprv+pK2DKmqXuq1g6LebxjsqU0ZxjWy WAfWhMbWh5nJrIeM+Cz8+eCOIHO9cpY7z7SPlImHHKqtGIdeopevo1sfVNQCrrOXUOqoY0AiOZk vqd33YxM1oG5/ODDijAd4umyR1tvkRgG9o79SRFm5i6tNmIzil20pytCA+6lPowNS0fDRAyTk8y BdXE7eUm8rKwuxCywqLOdfnJhYLaKg== X-Authority-Analysis: v=2.4 cv=FbM6BZ+6 c=1 sm=1 tr=0 ts=68fa02bf cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=ngjuI6RAwNlUvKc_ZX4A:9 a=kacYvNCVWA4VmyqE58fU:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: mX8ZW5XvNa9jmKA7xE7XEyuiYHNrv4RH X-Proofpoint-ORIG-GUID: mX8ZW5XvNa9jmKA7xE7XEyuiYHNrv4RH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510210190 Content-Type: text/plain; charset="utf-8" make use of q6asm_get_hw_pointer to get the current hardware read/write pointer and remove any additional code that does calculate this manually. As this is redundant and prone to errors. Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm-dai.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index db2ea8973ac9..c2a33d6a0827 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -58,7 +58,6 @@ struct q6asm_dai_rtd { phys_addr_t phys; unsigned int pcm_size; unsigned int pcm_count; - unsigned int pcm_irq_pos; /* IRQ position */ unsigned int periods; uint64_t bytes_sent; uint64_t bytes_received; @@ -190,12 +189,10 @@ static void event_handler(uint32_t opcode, uint32_t t= oken, prtd->state =3D Q6ASM_STREAM_STOPPED; break; case ASM_CLIENT_EVENT_DATA_WRITE_DONE: { - prtd->pcm_irq_pos +=3D prtd->pcm_count; snd_pcm_period_elapsed(substream); break; } case ASM_CLIENT_EVENT_DATA_READ_DONE: - prtd->pcm_irq_pos +=3D prtd->pcm_count; snd_pcm_period_elapsed(substream); if (prtd->state =3D=3D Q6ASM_STREAM_RUNNING) q6asm_read(prtd->audio_client, prtd->stream_id); @@ -227,7 +224,6 @@ static int q6asm_dai_prepare(struct snd_soc_component *= component, } =20 prtd->pcm_count =3D snd_pcm_lib_period_bytes(substream); - prtd->pcm_irq_pos =3D 0; /* rate and channels are sent to audio driver */ if (prtd->state =3D=3D Q6ASM_STREAM_RUNNING) { /* clear the previous setup if any */ @@ -479,11 +475,13 @@ static snd_pcm_uframes_t q6asm_dai_pointer(struct snd= _soc_component *component, =20 struct snd_pcm_runtime *runtime =3D substream->runtime; struct q6asm_dai_rtd *prtd =3D runtime->private_data; + snd_pcm_uframes_t ptr; =20 - if (prtd->pcm_irq_pos >=3D prtd->pcm_size) - prtd->pcm_irq_pos =3D 0; + ptr =3D q6asm_get_hw_pointer(prtd->audio_client, substream->stream) * run= time->period_size; + if (ptr) + return ptr - 1; =20 - return bytes_to_frames(runtime, (prtd->pcm_irq_pos)); + return 0; } =20 static int q6asm_dai_hw_params(struct snd_soc_component *component, --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 8371630AD00 for ; Thu, 23 Oct 2025 10:26:08 +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=1761215171; cv=none; b=oYs6yiY4Ont0smu2E2wY1TOyYBk4H3hVEcaOzdLRRXg/5KL1rKU0armwJb24UuWko8a+tqUEsDbKgPFRIICGHxOKzrtr0b9ZrR8Uxb3NqnIYFI1ZcgcVO7nyhaSOnz4B8L3YYODCix7fU/GirBl2bnHSKi6bZKZIQj/JdVMVkNo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215171; c=relaxed/simple; bh=Ho+pHLNPuBGTxEcdOpWIcJ1rAWSMMJmSaq1j+jlK1u0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b88mtR4MA29m/cqfriJ2CUaZPA/NiqxZr1aAVCI1DE9riv33ESQXvR+OIzgSChFr6Oae29kIz+KXI6uNYvMocOfz//4zXRzN5JWmZClZvyaPywb4od6APJnw6QE8h8HE7X/OZCGSYGa2Nm5Fn/QE9r6vOPsnypsJy0hW8Urf5H4= 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=Iomc0Os7; 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="Iomc0Os7" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N6vxL7018580 for ; Thu, 23 Oct 2025 10:26:08 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=yorz58q4zez HFzpZuHNhxtsCwlML/Ho348mBn54m9pA=; b=Iomc0Os75q3z84ngyHy02jYDMWY J+etAGqAlzSByhiyUGtskPKC7LSpUAgf8jUppx1xARPj9QzjP9Y64XgF4rqpZMc0 8Ha8OyePQrTX9xKK2Ynq3tHXP3UiRgz1LuTEa2tEV89XpehX1Ap3TZsLcmoH+fbG KWOWQihmH8moMr811ecq3R8bPOaitCjTZvF1pUFSwxc88SpOAKNk+9CpYU5AFIpr JdrGrGukEv8IiYEmBTF2LMcqDMkS2lStcT2zP33AeumjSHzlAJl5MRsXws3zGXuK 6biDobV3xlaxcdskvV01qpk6YnRAg/TnL6cR1q0cJxJNB+Nfyk3V+Mxj7RA== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v08pr8k6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:08 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4e894937010so18238471cf.3 for ; Thu, 23 Oct 2025 03:26:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215167; x=1761819967; 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=yorz58q4zezHFzpZuHNhxtsCwlML/Ho348mBn54m9pA=; b=VXZhK06wF1XrZhf7iPSCDk89XuuuLXcWEYHKpc6qbb+7asHFRFTwrGjvNU9tbT5yla D98+LzKFMjLQGlOvIX7lsLyhJKFm1gh18hEjrbunI8IENax1Tre7jX2CbDZVy42grDAY JxV1oFUmYPhb2WijtbYaVQF/rbY8oUtuWKv4GsMHh1hui314rGXdqojK/sem7WOs6Rsb +vhOZs3tsG4aXSRzhXcRlD1yAkVI6yUxbC0bToTCjPywmfDsnmFeh3DrAnPMPk/JzEda S7CtBqhuK9XzSIq9KFFfrszwBS4yZbCrSAu6JyLUV2HtFdy2Jm0oSnzuc2g1jeCN1/IS otmQ== X-Forwarded-Encrypted: i=1; AJvYcCXIZecrPyEs8zScEthcfazvMxFHL3JICEatl+1G3BrdfmmmHfPFItL3dnmgT+ViVFmaeSro8n4QpL5FF8E=@vger.kernel.org X-Gm-Message-State: AOJu0YwHDOrXityjF/yn++pDvYraSsZ9XXdWzUG1oTwVOH5XxmLBzVce EO8nlaLRvX4QE8zexRN9ObZsI8oDXVziXm/IqIF+Dkr6/FIB5s2lAryOfttEn2uNfjhJiMTDGT5 jLziAZ2aUJqW28TXXayrScRlmCTmWV0Aao4YrVK0PaHWr748JVNvjxICNxCIZe/pWvhw= X-Gm-Gg: ASbGnctjq+k7WbBMQ5By4Fa8KPCAlU49PPfqe/DbuOFVQ886AybDxVmJc9kbvIe0X0L lJd6fSWqN88SXdK1Yt6bK5aneSCgLrK4CkGZWfWTygh6hfxdZtShhyCXBAVUuod9kKpZTleY+Tr 8BXqzrJEot04NHvdgMGQ/mpnw83dczPsO7TeD7psEN7XgjX0TRQW1sPIF4vpyHwdrliYrBh00OD OBjiebxtrIrhgyHqORCBb6m7aWvW6JHmNWIUmpfMD+Q4XpJTwK46fHJTf6lKqOLLiPkQ5XvOcTo SONfMSpgStv+EINIqKcwGIJvbTBdHqkSQhSitHsOFkS265LemSJ2jWxVPjTzACnGeMSBw/vucQl s+PtO1ss/4q71 X-Received: by 2002:ac8:7f0b:0:b0:4e8:9126:31d0 with SMTP id d75a77b69052e-4e89d29843emr321791791cf.20.1761215167249; Thu, 23 Oct 2025 03:26:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEv+JYE9Zd15gWAcYaYZ3ohREdQKKaD4jHY5oAkXcks5K8suMhMO92c4U7oNzROY7XUhKFiBw== X-Received: by 2002:ac8:7f0b:0:b0:4e8:9126:31d0 with SMTP id d75a77b69052e-4e89d29843emr321791521cf.20.1761215166796; Thu, 23 Oct 2025 03:26:06 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:06 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla , Alexey Klimov Subject: [PATCH v2 09/20] ASoC: qcom: q6asm: set runtime correctly for each stream Date: Thu, 23 Oct 2025 11:24:33 +0100 Message-ID: <20251023102444.88158-10-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDE4MDAwMCBTYWx0ZWRfXwI0rEtdzo87j U1W471eWCHuvG+y4PQiq5EmGc7smv1A5FcValtKnHFpuYZnBBpnCwm+4rssBWduhjjDLi7ZQ2vc NPQVZ5a+yqQG24jHvUV76fqrtGxqQsYA1q8iq/wjtRWQsiG7RgvXe6uDfULoykbHfR28v4QxWBL eHNJj/CzkZs7iG8Jd0zAY3UVfLbIM754+8npbVllaziNEV2hJdVbMRWgzqPljpM4ml6HCgXQl9k w+ImyqErqXf5egssI2T5c2ST+iAZU9HS08spePmkvx5u6ogUF7NbkeTWD7vUbztXqCYsjbO43eP h/arUsecjAAUQcKJFOwG4JTmKKJesuBkkdY+7kG2ndH6Z69OTrnUD+GwEaoBlxsk2gTqH4p6Q7R BSg1V/RdkNy8zMXt0E06ajJezlaMBQ== X-Proofpoint-GUID: 0Wc5k4uaSTw05eDQSF8IM50BxFnbQ4oU X-Authority-Analysis: v=2.4 cv=Up1u9uwB c=1 sm=1 tr=0 ts=68fa02c0 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=KIUBPGGZ3vVIRF5Z0fMA:9 a=a_PwQJl-kcHnX1M80qC6:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: 0Wc5k4uaSTw05eDQSF8IM50BxFnbQ4oU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 suspectscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180000 Content-Type: text/plain; charset="utf-8" Both capture and playback can have different runtimes, so set them accordingly. Signed-off-by: Srinivas Kandagatla Tested-by: Alexey Klimov # RB5, RB3 --- sound/soc/qcom/qdsp6/q6asm-dai.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index c2a33d6a0827..97256313c01a 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -433,10 +433,13 @@ static int q6asm_dai_open(struct snd_soc_component *c= omponent, =20 runtime->private_data =3D prtd; =20 - snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_playback); - - runtime->dma_bytes =3D q6asm_dai_hardware_playback.buffer_bytes_max; - + if (substream->stream =3D=3D SNDRV_PCM_STREAM_PLAYBACK) { + snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_playback); + runtime->dma_bytes =3D q6asm_dai_hardware_playback.buffer_bytes_max; + } else { + snd_soc_set_runtime_hwparams(substream, &q6asm_dai_hardware_capture); + runtime->dma_bytes =3D q6asm_dai_hardware_capture.buffer_bytes_max; + } =20 if (pdata->sid < 0) prtd->phys =3D substream->dma_buffer.addr; --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 D816030DD08 for ; Thu, 23 Oct 2025 10:26:10 +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=1761215172; cv=none; b=aap6Fj3AFG/UBylFS42RLDPN5SUcyvIgvicJ3yNuHDcOZzS3jDXNJ6F/N0IH6AXFDR7/S2YJHnFCaU54aOzSmhmeTuTiiquqg46X7ZvDZuLMUo7PuUqZgRT6JRQXLdgr1L6DHJ2qi3qTWhn5HWUeolIYMj2y03ai1fCkzsKWY9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215172; c=relaxed/simple; bh=a6vR3cZrsa8eEPprG6ADmXlyyk7ZVWqf4VY8FOiCsl0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=inW+A0WukBauc56y8j6RKkf3Ybu6pfcYQCizDbJRC+czWergncBOWa6vueWv3mgBezgeDLevQ6QYNrA5YsNh4XdtQPXB4Bai9syXC/4WU0tiPdT8WaH5FL77Drwsg4piv6kFNGOq5zmADLYbaNjsqNbG18o4z5EU2OAIS91Q0mM= 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=XKJBMT6x; 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="XKJBMT6x" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N6f76n032198 for ; Thu, 23 Oct 2025 10:26:09 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=uJLxaLL+Ort xu6N92+2HUswlxaL+eZtDPgykkLQ+IQI=; b=XKJBMT6xAo2uHS4evgZL5IbfNTj ezCvTOEwCWVCcTOV/Yr9JP6cVVz9eb4curSZ8cmZRD4jTr5Emi1zYfbgJS0zXGR2 9EtlS8lXSkP43NABtWNPs1NXrlUSd1+eq9UtkE2TH5nniUcFo44tIrTXRQgaIBEb V2aAOFjpaE1EOq++HmyAC5e+FkPCbSLev1B2eXmzQfNOw72ZDydF19vzOGjifEOM 0v4wz2fqqeUvbknVDZLeuuU8phOxtomf/enuKsGtgj3oPGhvmvTnu4QTDKOD+YT1 COgmFuL1HPGRaxTsfamV42oZcElShEshYx81UyRqhnghO0jk+HVWfgRJfIg== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v2ge80kq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:09 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e8b73b2f90so22780951cf.1 for ; Thu, 23 Oct 2025 03:26:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215168; x=1761819968; 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=uJLxaLL+Ortxu6N92+2HUswlxaL+eZtDPgykkLQ+IQI=; b=FIPeECD5tzAHFDMrPcKRvngFgAy3SaJV2jlYrkmEtN4GWrDce6kjMsDW5BcpHwKxzv 39U/BiQxglhiRPCWVkT6S6bu2mlCPriJAvUt9PBJ5uzfaPeoFurEmQiit++prs9dB1om Z/9JLsWWTJLaElpPI+qAhqlPKLCb53Z3KGs72bKerMIoBPcLS+QtpI+kuHzl9MtTtxj6 fO55/JKACgI7IL++IWGa0Yvfu2ELKSeSQ3QkxczWdNn06SC0iLxxCjjYVA6h1zryFGZ7 16V2wWSTYMIe56IipQJY2Rv6c1Yw+Gl880kbbWcD1aRYzqhmk2HkuHqvvF17+tozaovS ia3g== X-Forwarded-Encrypted: i=1; AJvYcCVY5SSyuiJtR2S6/GXjEC44lL+8c5y6YS27J5PsdymAafqNpax2OlvBPry/QHrbECzkDyqnQysqZ1jJ/PY=@vger.kernel.org X-Gm-Message-State: AOJu0YyG3vjke2Q1N60eL+KWgSVfAL8tUPINeYCAJpBrJvCWq0L79EU7 r26wUEqD1oNolWjJ5IGZnv5r2pVkhJcBpa2Wx5gKIKNzIdjDuxRWsWDI02s9RdJbrzEAZNKOIx1 R2pXRi34tT5QgN+9yJMnM+ezcK0GnO+w8TIWS5acjHzeTovJrTNLy5DoVP4mO0GO+M6zGffb9hN E= X-Gm-Gg: ASbGncvAQbPIsI19xuBatNVrhGD4IdWopUFQIFVh68iYo/aPkFH6wiOnvnRFXYucqwE lwnFtBOtRYcsVjF6U5+iw/x2+CR2FbrohxpJS+49Y9wX3ADJNZGrtaSdy84QOrDzx8RUMR0enLR OAUGqHITEJWr7sBgMdvez2171zrv+JsMlpunlwSQV3h09YvS0u00vCnlvJjabdEEeiNk//YLEXt 1Mzl+LVqS6DM/qQBB3/MPA/SgZWMQp8gRperDZRbfKf93LcmtIfHyUxRL+8P60RJNnTush6pbg/ HWIIZoQ9bH8rGvkq/JF1U1jyCC92DGm/MCF+m+Pl3w6s5T+PIHHmA/tL5FpqTqqOqXKmHlBxq1X eJVNugxbW156R X-Received: by 2002:ac8:5fd6:0:b0:4e8:b739:6b57 with SMTP id d75a77b69052e-4eb5e8f6ce7mr111670701cf.76.1761215168469; Thu, 23 Oct 2025 03:26:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEhdQ2ceCXA38LuUnWoaDSYqjEa+OiAO91vDbKuaHtr2AOy23jk3nemYpPiGTiDjDGq73yaxw== X-Received: by 2002:ac8:5fd6:0:b0:4e8:b739:6b57 with SMTP id d75a77b69052e-4eb5e8f6ce7mr111670511cf.76.1761215168116; Thu, 23 Oct 2025 03:26:08 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:07 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 10/20] ASoc: qcom: audioreach: remove unused variables Date: Thu, 23 Oct 2025 11:24:34 +0100 Message-ID: <20251023102444.88158-11-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDE4MDAyMCBTYWx0ZWRfX3Pnel8PqtWI+ RE8zP/lra5OIOoepkydG+gcYUnQjo2RdsRRBYzda8EJbWQCEfyEGnzfsJp8pfGxDzPVRRVx+ckm tVBbK/IN2mKp0MxbvpHYos1Kj07T1lVBh8ItT5bpyUbxjFGjwzRdeZwdDf4V3XBo/HlMmqi3yd2 LD4J0GHa4xvrMG76Ka4AwCzUU/IlcJwCjMs9xupUjNVDNEcY5+yyDcFC44jX1I+9cq0mNBApDtq +awcBGwHeo0YfVFAaN0rfmdl+QZ28D2p/lJt/9s/q+LMefGUwIy4HIbLiPKDwzP0jYjOKwX3yU4 NkKRYuj3UUwgfi8/I5KIUMUQGKPeJQH1154rzvAb+wZrDdrkE6/0Ukw8tNKdcSgDNhcFa/hFZbI XD9w6hBO5dMf++0aCpMRhZX32RBo/Q== X-Authority-Analysis: v=2.4 cv=KqFAGGWN c=1 sm=1 tr=0 ts=68fa02c1 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=s8dh861zfECFqLDNse4A:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: ZuxSPHQlTHgm6gz41iMN7VjrSfa7IXWE X-Proofpoint-ORIG-GUID: ZuxSPHQlTHgm6gz41iMN7VjrSfa7IXWE X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 phishscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180020 Content-Type: text/plain; charset="utf-8" remove unused variables in some of the audioreach functions. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 2365424a9b42..0456d4689034 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -612,7 +612,7 @@ static int audioreach_display_port_set_media_format(str= uct q6apm_graph *graph, struct apm_module_frame_size_factor_cfg *fs_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, dl_sz; + int ic_sz, ep_sz, fs_sz; int rc, payload_size; struct gpr_pkt *pkt; void *p; @@ -620,9 +620,8 @@ static int audioreach_display_port_set_media_format(str= uct q6apm_graph *graph, ic_sz =3D APM_DP_INTF_CFG_PSIZE; ep_sz =3D APM_HW_EP_CFG_PSIZE; fs_sz =3D APM_FS_CFG_PSIZE; - dl_sz =3D 0; =20 - payload_size =3D ic_sz + ep_sz + fs_sz + dl_sz; + payload_size =3D ic_sz + ep_sz + fs_sz; =20 pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) @@ -680,7 +679,7 @@ static int audioreach_codec_dma_set_media_format(struct= q6apm_graph *graph, struct apm_module_hw_ep_power_mode_cfg *pm_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, pm_sz, dl_sz; + int ic_sz, ep_sz, fs_sz, pm_sz; int rc, payload_size; struct gpr_pkt *pkt; void *p; @@ -689,9 +688,8 @@ static int audioreach_codec_dma_set_media_format(struct= q6apm_graph *graph, ep_sz =3D APM_HW_EP_CFG_PSIZE; fs_sz =3D APM_FS_CFG_PSIZE; pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; - dl_sz =3D 0; =20 - payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz + dl_sz; + payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz; =20 pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 343B730DD32 for ; Thu, 23 Oct 2025 10:26:11 +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=1761215176; cv=none; b=cVO5qu5ycEvjiiwhu2aQ1atFf9Qpai9okd83EMsJyhMcCGjmqm2W6uDfOzR/guCg5ABu7O8/Ouz8vpKaGfHnvZyaYGmjxDY/7phbKpw+o7/1ZCVPH/xtrPK6bgXhfhNUiJDrcFvuBLLfW4UUyfg78Okh511V41ykEmqsnAyPkzY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215176; c=relaxed/simple; bh=efgASbqYZBC7oC8H4oyO3InmxDlFSye4eEvOlegSpd0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A3yuK3Ox8V3CofIjcPXkENjW53IuH7hWV2DgIPqOSgkBJ2Lg4lGVsE8rxMz76d09oIq66vzcbuWvw4p7h4hoQ7n8U1NJ1JqWy0/6erCP3sXJmWcNczYvmKRNvr0BL/2u6HRQtQyzO6ePZ1vGJQVmuFwQn6eeA3QKVDOJZFV3TaE= 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=aSY9SEca; 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="aSY9SEca" 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 59N7Ai4R011700 for ; Thu, 23 Oct 2025 10:26:11 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=5mIm3I5zPap dYI6nLcnHbldFinCOWD4sq8Qf2hihJDg=; b=aSY9SEcaX4mPJed2TL5Z6pZ9xuP uz/+3oLVpFMbTm5z4APdCQJwNJMBcTwHnC8h85C3yPv/o0lWlFxd6E6kIw7bmQeY ykgbyPz9j9cmH6m6u9Bqi0ql22p5LeSV2ZSLVOx0s3tFOKS9DfXB9UejbCLTt0tt uPnkgaWNHazOJoJf0IF2zLmridOl6dfi5kitVMwOLoq7VeyQVBeD0dz1yfitoaZQ F1woEA4bri8L8HDBEX2DqmtGrgjvqUKI7jAPABe0FuT/9Vj93Hv6qzb3SScCmrJp k62k8jJM4fbe5oGIpAJrLP7Cp/Rz2M8FooTJKPApYbIXCtd89gRDm+WUiuQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y524a75g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:11 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e8bb76ee59so21324891cf.0 for ; Thu, 23 Oct 2025 03:26:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215170; x=1761819970; 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=5mIm3I5zPapdYI6nLcnHbldFinCOWD4sq8Qf2hihJDg=; b=LAEbULvvYibXSZAOWpbcqwdvusxWXCWDwDX2ZSo8g8S+c5irkAzxfZ+PhBb/r8EFVU t3KfJGlovcZXU98QeOoATvrUn76sfJlyCL/v0AEbed2jo/QJ7QfegNG+H+qEGHhN9zDe qdiS1DlHV6RSBQ5kgvI2Ny7YbqmASnNTRBqkZOu/xAFqq5LL1NJrMgbXEVwFxkFHbtXJ tquR2HJmAz5HXdUVofc0Ao0yv5ZbiY6TUJOxS16n/iKZWByPbac0++GTXmF+QD4PP41z +uCl/yAX6h0CejbFiFSUise+8s5kKM1roBnd+bCY30M4OAYpke2DG3yv5QyHnHEO5Jy4 VztQ== X-Forwarded-Encrypted: i=1; AJvYcCX/OFsCgug2kPA0qVrRcqL3LEYAXK8zB3mTz+HwM1m97Nc/mLdS7Pnb+kPg9B5FjOAIVX6hdJZWlpBYqG4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5kuVdqdmgp0/LOIqplt8kD3VeTaztThdAMsvQYoAL4QU+XKRn OiRMv3GYo2f+UCQnA3VWtR4r/wLsMgGN0/1FI6vmoM519QjUOp/qz8H4ylRJewRKA1oLflbLaP6 0Wfb4LAQ4cxtkLIL4w67MlMnuzuqaa2KKLZ/n6Zi+ZALhBT5a/gp2Lmxxcs+cGwCsA4E= X-Gm-Gg: ASbGnctluKIC47zvYMSFYSJ2VoADx3qrXv3H8V/65nwY9QenguymRBikU6Jwb6KlS80 /SfCKQb20exMvlo+jODHITvFsGT1rt7tGDORTvFD2cTmDHk1C158wVAjKkU2UMbJIqWY5IrRbbO sLc33YUBBiP0iUJRx2/NL41hgHhgIwOg/cu+BOWZGZ4o+TgT0NnbOOfBCiIoZnrVYc65R+OmInq h9Nd+cCX4vlM8Pc8JCzWtqVE5hm1o390i9P5LdB9xqGYn0KxnRbNOzAs6B363JM5UDmDfiMJ7Xf MwMn+8VLKo+5khHm78wJ0rzGxm9lquMWbQeelg05nUfjsPUmDsFFKiu75gXcvFBXVxx3+76an08 f/uTisuZaFiPJ X-Received: by 2002:a05:622a:1ba9:b0:4b2:cf75:bf10 with SMTP id d75a77b69052e-4eb810200bbmr17683521cf.17.1761215169568; Thu, 23 Oct 2025 03:26:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHFCxbXwAwH8/piF9N5ArRwBBXQc1WxpFAuGEHAuJeED3UURZNc6QrdvOKru0sgTFO8mGeU9g== X-Received: by 2002:a05:622a:1ba9:b0:4b2:cf75:bf10 with SMTP id d75a77b69052e-4eb810200bbmr17683291cf.17.1761215169024; Thu, 23 Oct 2025 03:26:09 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:08 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 11/20] ASoc: qcom: audioreach: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:35 +0100 Message-ID: <20251023102444.88158-12-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE1NSBTYWx0ZWRfX3YMcBKstLzHP qjadrNQdGgEJoHSfFIox8qo66qOMi6U25SAc52EJx/GWwT3cGb4/8nFpfIV7zKBXBfIC6EsRrCs aj85cxvyWtCBNKHuvhRG38dOwljf+Xq/N9K61j/PhS8T1wxST4QZl9jH4L0O6NSRFAWa4+He/J+ 8jeTmHu+pocaL0ZrInIFskBM2n/VQQklYuKQhO1+ovey0lJLP1Tv9IaVOWNbaHPg+XGxIklQd9d dSSA2cEy/Tlf9AFh2GZ1Mf70ZAd2qOj/3/oNc/Er7c8Gm2VzqJM5EsqUUnfKeTMcp9kaHDBKXkL muX7TVjz0d6ONGZe16+FUhWzIa1dFjUPf09BUB606FYN257Elq4qzqXbvR/P9YHhN/tZ+cAFTbX 5hJRoLwdMWtPfFNdKohExBB4JujMdQ== X-Authority-Analysis: v=2.4 cv=Uotu9uwB c=1 sm=1 tr=0 ts=68fa02c3 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=eMYRZwCK-RnsMZ2OX8QA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: RUk-TiiZ1tSpGFGFdkLTTCEeEPat4B3U X-Proofpoint-ORIG-GUID: RUk-TiiZ1tSpGFGFdkLTTCEeEPat4B3U X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220155 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/audioreach.c | 232 +++++++++--------------------- 1 file changed, 66 insertions(+), 166 deletions(-) diff --git a/sound/soc/qcom/qdsp6/audioreach.c b/sound/soc/qcom/qdsp6/audio= reach.c index 0456d4689034..ded49124581b 100644 --- a/sound/soc/qcom/qdsp6/audioreach.c +++ b/sound/soc/qcom/qdsp6/audioreach.c @@ -612,18 +612,12 @@ static int audioreach_display_port_set_media_format(s= truct q6apm_graph *graph, struct apm_module_frame_size_factor_cfg *fs_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_DP_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz; void *p; - - ic_sz =3D APM_DP_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -662,11 +656,7 @@ static int audioreach_display_port_set_media_format(st= ruct q6apm_graph *graph, intf_cfg->cfg.mst_idx =3D 0; intf_cfg->cfg.dptx_idx =3D cfg->dp_idx; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 /* LPASS Codec DMA port Module Media Format Setup */ @@ -679,19 +669,13 @@ static int audioreach_codec_dma_set_media_format(stru= ct q6apm_graph *graph, struct apm_module_hw_ep_power_mode_cfg *pm_cfg; struct apm_module_param_data *param_data; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz, pm_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_CDMA_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz + pm_sz; void *p; - - ic_sz =3D APM_CDMA_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - pm_sz =3D APM_HW_EP_PMODE_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz + pm_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -739,24 +723,17 @@ static int audioreach_codec_dma_set_media_format(stru= ct q6apm_graph *graph, param_data->param_size =3D pm_sz - APM_MODULE_PARAM_DATA_SIZE; pm_cfg->power_mode.power_mode =3D 0; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 int audioreach_send_u32_param(struct q6apm_graph *graph, struct audioreach= _module *module, uint32_t param_id, uint32_t param_val) { struct apm_module_param_data *param_data; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; uint32_t *param; - int rc, payload_size; - void *p; - - payload_size =3D sizeof(uint32_t) + APM_MODULE_PARAM_DATA_SIZE; - p =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + int payload_size =3D sizeof(uint32_t) + APM_MODULE_PARAM_DATA_SIZE; + void *p =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0= ); if (IS_ERR(p)) return -ENOMEM; =20 @@ -773,11 +750,7 @@ int audioreach_send_u32_param(struct q6apm_graph *grap= h, struct audioreach_modul param =3D p; *param =3D param_val; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } EXPORT_SYMBOL_GPL(audioreach_send_u32_param); =20 @@ -813,24 +786,17 @@ static int audioreach_set_module_config(struct q6apm_= graph *graph, struct audioreach_module *module, struct audioreach_module_config *cfg) { - int payload_size =3D le32_to_cpu(module->data->size); - struct gpr_pkt *pkt; - int rc; + int size =3D le32_to_cpu(module->data->size); void *p; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 p =3D (void *)pkt + GPR_HDR_SIZE + APM_CMD_HDR_SIZE; =20 - memcpy(p, module->data->data, payload_size); - - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); + memcpy(p, module->data->data, size); =20 - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_mfc_set_media_format(struct q6apm_graph *graph, @@ -840,15 +806,11 @@ static int audioreach_mfc_set_media_format(struct q6a= pm_graph *graph, struct apm_module_param_data *param_data; struct param_id_mfc_media_format *media_format; uint32_t num_channels =3D cfg->num_channels; - int payload_size; - struct gpr_pkt *pkt; - int rc, i; + int payload_size =3D APM_MFC_CFG_PSIZE(media_format, num_channels) + + APM_MODULE_PARAM_DATA_SIZE; + int i; void *p; - - payload_size =3D APM_MFC_CFG_PSIZE(media_format, num_channels) + - APM_MODULE_PARAM_DATA_SIZE; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(payloa= d_size, APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -868,11 +830,7 @@ static int audioreach_mfc_set_media_format(struct q6ap= m_graph *graph, for (i =3D 0; i < num_channels; i++) media_format->channel_mapping[i] =3D cfg->channel_map[i]; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_set_compr_media_format(struct media_format *media_fm= t_hdr, @@ -960,31 +918,24 @@ static int audioreach_set_compr_media_format(struct m= edia_format *media_fmt_hdr, int audioreach_compr_set_param(struct q6apm_graph *graph, struct audioreac= h_module_config *mcfg) { struct media_format *header; - struct gpr_pkt *pkt; - int iid, payload_size, rc; + int rc; void *p; - - payload_size =3D sizeof(struct apm_sh_module_media_fmt_cmd); - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_cmd_pkt(payload_size, DATA_CMD_WR_SH_MEM_EP_MEDI= A_FORMAT, - 0, graph->port->id, iid); - + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + int payload_size =3D sizeof(struct apm_sh_module_media_fmt_cmd); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_cmd_pkt(payload_si= ze, + DATA_CMD_WR_SH_MEM_EP_MEDIA_FORMAT, + 0, graph->port->id, iid); if (IS_ERR(pkt)) return -ENOMEM; =20 + p =3D (void *)pkt + GPR_HDR_SIZE; header =3D p; rc =3D audioreach_set_compr_media_format(header, p, mcfg); - if (rc) { - kfree(pkt); + if (rc) return rc; - } - - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); =20 - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(audioreach_compr_set_param); =20 @@ -996,18 +947,12 @@ static int audioreach_i2s_set_media_format(struct q6a= pm_graph *graph, struct apm_module_param_data *param_data; struct apm_i2s_module_intf_cfg *intf_cfg; struct apm_module_hw_ep_mf_cfg *hw_cfg; - int ic_sz, ep_sz, fs_sz; - int rc, payload_size; - struct gpr_pkt *pkt; + int ic_sz =3D APM_I2S_INTF_CFG_PSIZE; + int ep_sz =3D APM_HW_EP_CFG_PSIZE; + int fs_sz =3D APM_FS_CFG_PSIZE; + int size =3D ic_sz + ep_sz + fs_sz; void *p; - - ic_sz =3D APM_I2S_INTF_CFG_PSIZE; - ep_sz =3D APM_HW_EP_CFG_PSIZE; - fs_sz =3D APM_FS_CFG_PSIZE; - - payload_size =3D ic_sz + ep_sz + fs_sz; - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1058,11 +1003,7 @@ static int audioreach_i2s_set_media_format(struct q6= apm_graph *graph, param_data->param_size =3D fs_sz - APM_MODULE_PARAM_DATA_SIZE; fs_cfg->frame_size_factor =3D 1; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_logging_set_media_format(struct q6apm_graph *graph, @@ -1070,12 +1011,9 @@ static int audioreach_logging_set_media_format(struc= t q6apm_graph *graph, { struct apm_module_param_data *param_data; struct data_logging_config *cfg; - int rc, payload_size; - struct gpr_pkt *pkt; + int size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; void *p; - - payload_size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1085,7 +1023,7 @@ static int audioreach_logging_set_media_format(struct= q6apm_graph *graph, param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D PARAM_ID_DATA_LOGGING_CONFIG; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 p =3D p + APM_MODULE_PARAM_DATA_SIZE; cfg =3D p; @@ -1093,11 +1031,7 @@ static int audioreach_logging_set_media_format(struc= t q6apm_graph *graph, cfg->log_tap_point_id =3D module->log_tap_point_id; cfg->mode =3D module->log_mode; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_pcm_set_media_format(struct q6apm_graph *graph, @@ -1108,8 +1042,8 @@ static int audioreach_pcm_set_media_format(struct q6a= pm_graph *graph, uint32_t num_channels =3D mcfg->num_channels; struct apm_pcm_module_media_fmt_cmd *cfg; struct apm_module_param_data *param_data; - int rc, payload_size; - struct gpr_pkt *pkt; + int payload_size; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 if (num_channels > 4) { dev_err(graph->dev, "Error: Invalid channels (%d)!\n", num_channels); @@ -1144,11 +1078,7 @@ static int audioreach_pcm_set_media_format(struct q6= apm_graph *graph, media_cfg->bits_per_sample =3D mcfg->bit_width; memcpy(media_cfg->channel_mapping, mcfg->channel_map, mcfg->num_channels); =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 static int audioreach_shmem_set_media_format(struct q6apm_graph *graph, @@ -1160,7 +1090,7 @@ static int audioreach_shmem_set_media_format(struct q= 6apm_graph *graph, struct payload_media_fmt_pcm *cfg; struct media_format *header; int rc, payload_size; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; void *p; =20 if (num_channels > 4) { @@ -1202,29 +1132,20 @@ static int audioreach_shmem_set_media_format(struct= q6apm_graph *graph, memcpy(cfg->channel_mapping, mcfg->channel_map, mcfg->num_channels); } else { rc =3D audioreach_set_compr_media_format(header, p, mcfg); - if (rc) { - kfree(pkt); + if (rc) return rc; - } } =20 - rc =3D audioreach_graph_send_cmd_sync(graph, pkt, 0); - - kfree(pkt); - - return rc; + return audioreach_graph_send_cmd_sync(graph, pkt, 0); } =20 int audioreach_gain_set_vol_ctrl(struct q6apm *apm, struct audioreach_modu= le *module, int vol) { struct param_id_vol_ctrl_master_gain *cfg; struct apm_module_param_data *param_data; - int rc, payload_size; - struct gpr_pkt *pkt; + int size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; void *p; - - payload_size =3D sizeof(*cfg) + APM_MODULE_PARAM_DATA_SIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1234,16 +1155,12 @@ int audioreach_gain_set_vol_ctrl(struct q6apm *apm,= struct audioreach_module *mo param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D PARAM_ID_VOL_CTRL_MASTER_GAIN; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 p =3D p + APM_MODULE_PARAM_DATA_SIZE; cfg =3D p; cfg->master_gain =3D vol; - rc =3D q6apm_send_cmd_sync(apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(apm, pkt, 0); } EXPORT_SYMBOL_GPL(audioreach_gain_set_vol_ctrl); =20 @@ -1251,11 +1168,8 @@ static int audioreach_gain_set(struct q6apm_graph *g= raph, struct audioreach_modu { struct apm_module_param_data *param_data; struct apm_gain_module_cfg *cfg; - int rc, payload_size; - struct gpr_pkt *pkt; - - payload_size =3D APM_GAIN_CFG_PSIZE; - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, APM_CMD_SET_CFG, 0); + int size =3D APM_GAIN_CFG_PSIZE; + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(size, = APM_CMD_SET_CFG, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1265,15 +1179,11 @@ static int audioreach_gain_set(struct q6apm_graph *= graph, struct audioreach_modu param_data->module_instance_id =3D module->instance_id; param_data->error_code =3D 0; param_data->param_id =3D APM_PARAM_ID_GAIN; - param_data->param_size =3D payload_size - APM_MODULE_PARAM_DATA_SIZE; + param_data->param_size =3D size - APM_MODULE_PARAM_DATA_SIZE; =20 cfg->gain_cfg.gain =3D module->gain; =20 - rc =3D q6apm_send_cmd_sync(graph->apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(graph->apm, pkt, 0); } =20 int audioreach_set_media_format(struct q6apm_graph *graph, struct audiorea= ch_module *module, @@ -1358,9 +1268,9 @@ int audioreach_map_memory_regions(struct q6apm_graph = *graph, unsigned int dir, s 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; + struct gpr_pkt *pkt __free(kfree) =3D NULL; void *p; - int rc, i; + int i; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) data =3D &graph->rx_data; @@ -1407,23 +1317,16 @@ int audioreach_map_memory_regions(struct q6apm_grap= h *graph, unsigned int dir, s } mutex_unlock(&graph->lock); =20 - rc =3D audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_RSP_SHARED_MEM_= MAP_REGIONS); - - kfree(pkt); - - return rc; + return audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_RSP_SHARED_MEM_= MAP_REGIONS); } EXPORT_SYMBOL_GPL(audioreach_map_memory_regions); =20 int audioreach_shared_memory_send_eos(struct q6apm_graph *graph) { struct data_cmd_wr_sh_mem_ep_eos *eos; - struct gpr_pkt *pkt; - int rc =3D 0, iid; - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_cmd_pkt(sizeof(*eos), DATA_CMD_WR_SH_MEM_EP_EOS,= 0, - graph->port->id, iid); + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_cmd_pkt(sizeof(*eo= s), + DATA_CMD_WR_SH_MEM_EP_EOS, 0, graph->port->id, iid); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -1431,9 +1334,6 @@ int audioreach_shared_memory_send_eos(struct q6apm_gr= aph *graph) =20 eos->policy =3D WR_SH_MEM_EP_EOS_POLICY_LAST; =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(audioreach_shared_memory_send_eos); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 DF8D62EAD10 for ; Thu, 23 Oct 2025 10:26:12 +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=1761215175; cv=none; b=X2ZXuRCBz0+n+TGWSN3EKCCotbpfw+z4lDAVFjrrHOJQH+Hw1dVCbThPzsRTo5EwOk6hMMCj7I6ELHbmQobyM9UG3OILxhmBHuSCEyoywD4Wm6GDUq5XbJBgb6glShrVxCn+nD1/mpL5GUz1gvQObpuvmWU7qsfb64dKhRis2wU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215175; c=relaxed/simple; bh=bilYqDTijOVI3Ym7tdbxk/7Oij4S7gx62HEm/BQXlfo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=khy8C+8spEjnM5oDXbv3j1a6i1Tm05hj0w42yo/hrF9TXOe4itK0dR5aWLGFIVqHSG5Ws9KrYnqsg16iw15LLgd1S8G1AcLFB+h98hBhdPZHKYADLbq5JBRVwvV7fKhMDq3FnNc1ZJwK8ORcGP97eFq+pG8Ej+n4KSsPCpfUZFY= 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=K6yzip0L; 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="K6yzip0L" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N6vhbY029699 for ; Thu, 23 Oct 2025 10:26:11 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=Q/jUAXEKNOQ 5BE1XPscr9ID7DIaSGQKQv9C4H2dtDd4=; b=K6yzip0LtOg/vBX4h04eN0SVE1K 6TYB/ZgJLcSFk24PlAX0oyfiBnKBJ3lTbZwBTd2DLUwVQZdxMa7VkE3uyiBE4nTe 2sdMvHz8q6KySEQL/Tdypx0+3OHOAyV6OJ+d37j8+INTfQtKucxBLH5qW+DGJ1Pi Eu0FS2nXbKN6E5iO9j+WJAasHFG38NoJrbtSFU0wujldzmumMw81ADnCabo0zjV1 7VCZQyD9lveQqjGpHE0BAW/sQsYhDSbdBNv3Sc/Dy7sijq+7FgifQ3d/qsi9PYKf F0Ta+LmwWRrk7htjMog9ofgNKV2GthyFvc43c31KnQvZBJ0thGS9eoAlmpw== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v2ge80ku-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:11 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-4e89f4a502cso19060571cf.2 for ; Thu, 23 Oct 2025 03:26:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215170; x=1761819970; 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=Q/jUAXEKNOQ5BE1XPscr9ID7DIaSGQKQv9C4H2dtDd4=; b=Oo3i+KXzP4yCefmIOVGPXLQX3mQkBeP7JvIc+6YKBdWgVbzdSYVItIJS0sJAHZzPIL LPhUXOEPc9vpugDsxvnh+MWBbTrfwiJTjdc1o5VYVoRmij9DyqJhfwtR0jelRhvxaIaq qiRQblyAvQtwxuiGJJoGwD3Q37rRU+H2ViDgari1dpcSMkYVEwrmvR85uDW+tQcQhm67 BKpl0b0mwGFVSLitjiQ5SW3BXxAy6TmkCVGzezkjDqnInAwkcZvdrCsCfSxCUDXcKGKf pGL88brc/NqbqtQ/r2aSzCoCiGl3Yl29FSVcTCkyxAnSUv5N1ITJHjETkEOsZiUZjtcd Dc6g== X-Forwarded-Encrypted: i=1; AJvYcCVk5DoreWqySG1R/pMCxsfYOIKykhWOnJ4NiIpcWykiVFoFzVjLKB8fPWscuUPepYzbabg7LMWjNffHjHY=@vger.kernel.org X-Gm-Message-State: AOJu0YyqM8oPHl/BRyyBdxjNIyDlR3SKI30XthyXNP/Y0v2oC/V/6vJf PhMYeeu3/jiRojLm3yodmiQxcjNqN6OkRfJS2chHIY96iFvlGRF8Dwm5uy057q9RrDvZBbv3q7U dOpOhgoHxUW54r+LAGHwR54nH7O7a8feYbspArWhV2/mM5KFilHwVJN03bklc98tu5Nk= X-Gm-Gg: ASbGncuRm3WW6hS74tktk6f4UbBWDCoAVBavgGaLlHSn5mSO03TtFsba/gkhXOX/vDW nu5OL2+Ph4YvSHOzisW7tuRp8Ad16gMj8yw8l1Qf13L4xMFli+pPwyKJhghymKDfK1mT38R5VMY ir4ZF12ILZL5AbS1Y3fryu0E1wAr1avhjE6OKQq5Ips3i53yMbD8xN7jSccPfmF0HJMH1TQsMeA qHmqxE9We9QTFmV4VvcEL3mQfM8A/L0d0WeR8XASVRzI2M++00FQYLHk1BhNT+JtRH8o5AvqLOr WIlGuFVMiWw11jqNjF9M/okVn8pfSXX0OduFD5ng4oBNgHuqVyXLgQ2ZYLMqbH7NSEOa/bXwUnJ EhfyUP5Mw/c9M X-Received: by 2002:ac8:5792:0:b0:4e8:ac66:ee42 with SMTP id d75a77b69052e-4e8ac66f458mr252665491cf.27.1761215170464; Thu, 23 Oct 2025 03:26:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEWFQYJgDTadBI0CLEt07gUG/hH7KmtA4wCHAIN4ey5J4mMmr8Q6aFMeRo7VX/EjbM4dYegVg== X-Received: by 2002:ac8:5792:0:b0:4e8:ac66:ee42 with SMTP id d75a77b69052e-4e8ac66f458mr252665271cf.27.1761215169907; Thu, 23 Oct 2025 03:26:09 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:09 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 12/20] ASoc: qcom: q6adm: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:36 +0100 Message-ID: <20251023102444.88158-13-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDE4MDAyMCBTYWx0ZWRfX+EQOApvSITsx roQ8iwAlTP/yZvjiXDpP19RSpSO2Zu5GUvwZP1x/nICurQqaeuKMS9h34SJx7SKmpD6rNxa+yh7 RUWRuJec1cN0+ZVcMG3gVtDGsnRhNQ9yD/5YkiR45cf7reRMTo+5LlhvErej69Xbuw88BikzwlV 3Jr1zHNolu4DwlbuwMV2O/O6dgKYWyKZB3vLK/WQqAk9JRqrhU5NnlCqLZ1l/N0nN0UpOdMp/8X 89ArnnN/jKEr8krnhGi7ROHIAcw5ESxIuaLsFVfgiJjyZQA/98Z1LWEeBcorHthwlFOgsuO7ViY 5TNxYREimY36k6jwxWjYJEaPAnVv+KsMbEPzsY36m0B6DJHKFMGqc/fKPjiXMHiINq9FjxO2dWr qEyIwlZyyLAwkXcdw6eprNFfzX48iw== X-Authority-Analysis: v=2.4 cv=KqFAGGWN c=1 sm=1 tr=0 ts=68fa02c3 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=EQMblWJGb8QQpEaKAwIA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: 9e2XRP3oW9-AmIJRMpA15aUKyiNabD0U X-Proofpoint-ORIG-GUID: 9e2XRP3oW9-AmIJRMpA15aUKyiNabD0U X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 phishscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180020 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6adm.c | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6adm.c b/sound/soc/qcom/qdsp6/q6adm.c index 75a029a696ac..0b8d06ec8b26 100644 --- a/sound/soc/qcom/qdsp6/q6adm.c +++ b/sound/soc/qcom/qdsp6/q6adm.c @@ -330,11 +330,8 @@ static int q6adm_device_open(struct q6adm *adm, struct= q6copp *copp, struct q6adm_cmd_device_open_v5 *open; int afe_port =3D q6afe_get_port_id(port_id); struct apr_pkt *pkt; - void *p; - int ret, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -359,14 +356,9 @@ static int q6adm_device_open(struct q6adm *adm, struct= q6copp *copp, ret =3D q6dsp_map_channels(&open->dev_channel_mapping[0], channel_mode); if (ret) - goto err; - - ret =3D q6adm_apr_send_copp_pkt(adm, copp, pkt, - ADM_CMDRSP_DEVICE_OPEN_V5); + return ret; =20 -err: - kfree(pkt); - return ret; + return q6adm_apr_send_copp_pkt(adm, copp, pkt, ADM_CMDRSP_DEVICE_OPEN_V5); } =20 /** @@ -469,15 +461,12 @@ int q6adm_matrix_map(struct device *dev, int path, struct q6adm_session_map_node_v5 *node; struct apr_pkt *pkt; uint16_t *copps_list; - int pkt_size, ret, i, copp_idx; - void *matrix_map; - struct q6copp *copp; - + int ret, i, copp_idx; /* Assumes port_ids have already been validated during adm_open */ - pkt_size =3D (APR_HDR_SIZE + sizeof(*route) + sizeof(*node) + + struct q6copp *copp; + int pkt_size =3D (APR_HDR_SIZE + sizeof(*route) + sizeof(*node) + (sizeof(uint32_t) * payload_map.num_copps)); - - matrix_map =3D kzalloc(pkt_size, GFP_KERNEL); + void *matrix_map __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!matrix_map) return -ENOMEM; =20 @@ -515,16 +504,13 @@ int q6adm_matrix_map(struct device *dev, int path, if (port_idx < 0) { dev_err(dev, "Invalid port_id %d\n", payload_map.port_id[i]); - kfree(pkt); return -EINVAL; } copp_idx =3D payload_map.copp_idx[i]; =20 copp =3D q6adm_find_copp(adm, port_idx, copp_idx); - if (!copp) { - kfree(pkt); + if (!copp) return -EINVAL; - } =20 copps_list[i] =3D copp->id; kref_put(&copp->refcount, q6adm_free_copp); @@ -557,7 +543,6 @@ int q6adm_matrix_map(struct device *dev, int path, =20 fail_cmd: mutex_unlock(&adm->lock); - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6adm_matrix_map); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 DCC5A30DED8 for ; Thu, 23 Oct 2025 10:26:13 +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=1761215176; cv=none; b=H7okuJ864lnDpX+9rMyJZnaL3/CeNarIFKvnHbOI8aFcQt+7mOWa127Iy+7/7F3gBlI2duysOYDVTPdZ2dBowlAvvxMkvhEa/O7RvQQ4MTgDVvkV3eMfDPFFT83hrZ39Qx9iJYLYSJ/8Vpn1nBn9Qw5cA/luzodEiEtEhfaghXw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215176; c=relaxed/simple; bh=yBNFWfi7nb0NEEgHL4lbgPtCESQBjN8cUW0xWV+hUrs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rqcKKBDtY97ZoN+DpfCtrj9NQSBzeUzlDziyiiqq6xfZHmIlkC8W2V7f88b3+QEZKEA/h1GTvuyrhTyXZnYVetg/13Iv8ZBCx8ZjbfF5OrU71xdtF5ighwS+VP/bSNADWYp2WK8x/ueiUB6YciUoQpKyClfvhyXORxEuGs+J+Bk= 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=dDO9t2yh; 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="dDO9t2yh" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N71SZu018600 for ; Thu, 23 Oct 2025 10:26:13 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=nDvlp40m+Ni viZ7Prwo/9bXT1BrtIsyNq1nV9QUwJU8=; b=dDO9t2yhoTDMVFCW+mn8OSfyqXp xIdNp9640vYTcXOYyx6ab9I/NSNxUQP8hUsaOQBSQGOn1rz9tXoQB2Z+0L4olJez yTZmCn9cJkbBn5zS+wWOUHlInJ4erMbnP5R1Gf5rZ/70FT83UuSageEkyT7rXgj5 yfZm2GB4P8HpmAMAm5mXB2exFnPaH/eUxeTuQquyBJcil3KwBOz8c8fRT/IBeksG CRK6j/wK+XkZzDNoKBcjgZHVWSz7n8xCT9fYPH73kyBD7pDUmnjEfNESlNDpgNVt 9F2eEczoYsrZjrDap/oHK1yWlYaeH3gTs6LuACxIu5GDRvCq8oQTxOvvfqg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v08pr8km-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:12 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e8916e8d4aso31565361cf.2 for ; Thu, 23 Oct 2025 03:26:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215172; x=1761819972; 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=nDvlp40m+NiviZ7Prwo/9bXT1BrtIsyNq1nV9QUwJU8=; b=I7n9giHdTg9G1SpRWc6rQp+Ko84sYH1EgRzjkX9E1+7o8RvL2eMqoEmx9snsj7DwDf dLUmnQXz1cvEXX1W6yhnbpO4y0UGlvuInr8SVVeZY554XctfgevhpZ9oFGOcXVwDlfVI GWLIRFYXJBHWqfhEEpPzIVSSyITSowCc3F+U5zxDSKi0NbWiRk85WiQeXuP/O28smdNC zd5c29urTYQnEscub/VC2C+jIbdgw06IiirwN1v5kC4hZEe2yIBYxW2sw3r4506jxOQF /Jn6KOAqdS+SrTUtIKgF04x8piPFeEcZC0tjO8Z04id97oC9u7IMH0p6MDFvszgYidrq BDaQ== X-Forwarded-Encrypted: i=1; AJvYcCVk3Zcjr9SQBgYuKuH8cUfr9LOOIl2ifsD2JuZj/C3y7ulpj1mr+aVdF+BqhuZXIZhsZhHeXQBJbSp4SQE=@vger.kernel.org X-Gm-Message-State: AOJu0YzgkVuexcgG+Z3VrQDnaJFK73Fjpegw+G3qAWGOmuBMB5mrcr4Q hAIOLtRm+ycJGBJ5My+3WOghSDF27baTCPnpVJjXB/E1zGN24QAQ0WOTyboY7wHdUF4bOcakETr AQJ4U3h5Ky/w1wpPUnIDtZi7kJvqLG6UJavE1JZLYCi7eQFdO0clTM9S4HOBh7ns/lIc= X-Gm-Gg: ASbGncslMbECB0q99MDcrid8/hTWy6QfuOK0J3lUVsS6YgBZo2ddtX8CD5UJCOrh95x H7VTdwVSs9Ol60oUWEkRdgySlo/d2t6Df65dY52FZepJR7qDiCvWu3wyFu8Xx0u0KBFdxGQUE/3 2RjET7PxGaqcI9fV2PNSUnBpTbec85VBogcr7cK/yrX+4WjGD3iwuxkxjCKSVzD+8Q+grqtIEJy a2K7ntknM1DeSz6+mqOXTV8z59OpgQpQxxLkJhTjTls0bzSgRUUOK7mr0u0BpJpSP5jtTPJ3z23 WcbzQUg2UzhABsfl8buHLJ51Z5hgwf5NpvSDJWyIw1oQFG5ZUueuoLyS1b0+bB75I7qqyD8FLO2 Bq/Rj+1gmbjNv X-Received: by 2002:a05:622a:138b:b0:4e6:f8b8:50f7 with SMTP id d75a77b69052e-4e89d33642bmr329289561cf.44.1761215171854; Thu, 23 Oct 2025 03:26:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEO3GrQVUuEv9NnqplDFxqKgL+KC3Vx8puoDERmcPhpNTD+7RpwHEoz9azTtHB75fZgXP5pTQ== X-Received: by 2002:a05:622a:138b:b0:4e6:f8b8:50f7 with SMTP id d75a77b69052e-4e89d33642bmr329289291cf.44.1761215171349; Thu, 23 Oct 2025 03:26:11 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:10 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 13/20] ASoc: qcom: q6afe: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:37 +0100 Message-ID: <20251023102444.88158-14-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDE4MDAwMCBTYWx0ZWRfXznFfrwHWfv/L /vX6F7JIM4wa3ry4aGhym+epz8jD+JPPIzjwX2PShZG2U0Zhbd67lPUX/gwo0UqsuwQCLzD3lTo Z92ClRAMPiC2VVAocNXfzF5q0I75LG1WTXbEB2knlXwKAufB+dmS02GmUP9DCYcYFLVtwjibEjJ 2juUvv8g6pW6CtpMBnSUT8KXq18/wWmEC8fWNprhz45Yr079+JYGoGzQKxrts9JyiG6qWOEeIsH 00LElm6QmxobbYeTqcbLWcV8FbGgFakZadxEZdqACXX442x3yR/c+OMqultsBkkm5v0Zr/FCd2a S7TK5Ag2GPF5gykYrqD4jdExquIuoToXmVw05i534jDcPX0zRc7FAGW4rjzucN3hNl2jc+filRB 8/E0ek09EX69l65i2P/aOnhy4euIeA== X-Proofpoint-GUID: CCntX1xfaP2NVvZWhD2KW-tCBaJqLXPk X-Authority-Analysis: v=2.4 cv=Up1u9uwB c=1 sm=1 tr=0 ts=68fa02c4 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=92AZDs2nESXm7HPk3LYA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: CCntX1xfaP2NVvZWhD2KW-tCBaJqLXPk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 suspectscore=0 malwarescore=0 clxscore=1015 impostorscore=0 bulkscore=0 priorityscore=1501 spamscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180000 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe.c | 41 +++++++++++------------------------- 1 file changed, 12 insertions(+), 29 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 7b59d514b432..56f85f1c2425 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -1077,11 +1077,9 @@ static int q6afe_set_param(struct q6afe *afe, struct= q6afe_port *port, struct afe_svc_cmd_set_param *param; struct afe_port_param_data_v2 *pdata; struct apr_pkt *pkt; - int ret, pkt_size; - void *p, *pl; - - pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + psize; - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + ps= ize; + void *pl; + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1112,7 +1110,6 @@ static int q6afe_set_param(struct q6afe *afe, struct = q6afe_port *port, if (ret) dev_err(afe->dev, "AFE set params failed %d\n", ret); =20 - kfree(pkt); return ret; } =20 @@ -1131,11 +1128,9 @@ static int q6afe_port_set_param_v2(struct q6afe_port= *port, void *data, struct q6afe *afe =3D port->afe; struct apr_pkt *pkt; u16 port_id =3D port->id; - int ret, pkt_size; - void *p, *pl; - - pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + psize; - p =3D kzalloc(pkt_size, GFP_KERNEL); + int ret, pkt_size =3D APR_HDR_SIZE + sizeof(*param) + sizeof(*pdata) + ps= ize; + void *pl; + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1168,7 +1163,6 @@ static int q6afe_port_set_param_v2(struct q6afe_port = *port, void *data, dev_err(afe->dev, "AFE enable for port 0x%x failed %d\n", port_id, ret); =20 - kfree(pkt); return ret; } =20 @@ -1285,7 +1279,7 @@ int q6afe_port_stop(struct q6afe_port *port) int port_id =3D port->id; int ret =3D 0; int index, pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 index =3D port->token; if (index < 0 || index >=3D AFE_PORT_MAX) { @@ -1316,7 +1310,6 @@ int q6afe_port_stop(struct q6afe_port *port) if (ret) dev_err(afe->dev, "AFE close failed %d\n", ret); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6afe_port_stop); @@ -1676,7 +1669,7 @@ int q6afe_port_start(struct q6afe_port *port) int ret, param_id =3D port->cfg_type; struct apr_pkt *pkt; int pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 ret =3D q6afe_port_set_param_v2(port, &port->port_cfg, param_id, AFE_MODULE_AUDIO_DEV_INTERFACE, @@ -1722,7 +1715,6 @@ int q6afe_port_start(struct q6afe_port *port) dev_err(afe->dev, "AFE enable for port 0x%x failed %d\n", port_id, ret); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL_GPL(q6afe_port_start); @@ -1845,11 +1837,8 @@ int q6afe_unvote_lpass_core_hw(struct device *dev, u= int32_t hw_block_id, struct afe_cmd_remote_lpass_core_hw_devote_request *vote_cfg; struct apr_pkt *pkt; int ret =3D 0; - int pkt_size; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1871,7 +1860,6 @@ int q6afe_unvote_lpass_core_hw(struct device *dev, ui= nt32_t hw_block_id, if (ret < 0) dev_err(afe->dev, "AFE failed to unvote (%d)\n", hw_block_id); =20 - kfree(pkt); return ret; } EXPORT_SYMBOL(q6afe_unvote_lpass_core_hw); @@ -1883,11 +1871,8 @@ int q6afe_vote_lpass_core_hw(struct device *dev, uin= t32_t hw_block_id, struct afe_cmd_remote_lpass_core_hw_vote_request *vote_cfg; struct apr_pkt *pkt; int ret =3D 0; - int pkt_size; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*vote_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1911,8 +1896,6 @@ int q6afe_vote_lpass_core_hw(struct device *dev, uint= 32_t hw_block_id, if (ret) dev_err(afe->dev, "AFE failed to vote (%d)\n", hw_block_id); =20 - - kfree(pkt); return ret; } EXPORT_SYMBOL(q6afe_vote_lpass_core_hw); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 23F3230E0DF for ; Thu, 23 Oct 2025 10:26:14 +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=1761215177; cv=none; b=FgBdY8JzwFXBPvdZW4UDrLxCwJPo0r4/18tfOkYSV/hsSr6s96nQ1Ksitb8rstJ97gAMATSRhO1da7fY+lZjPQU/eZgOkeEIrLo++3s0ZOfZIfozddhxWFg+iYPxw+I3lKThxnDTjLRszG9WzJGgI5jBah9VXenAmnwS7B1/V6E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215177; c=relaxed/simple; bh=DqFc1lEyNlYSTnRSRWLFqbyGVZBJ7IJEhAOyAV3lF1s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mT3UTc/BtD3f9zwR8RIxbmsNzXkOexYafJGXbxyjiLlRSbDvhasVuhs2YEsCElWwuSx2E9CjbVODTH0Z6in50FDC549CytJzsQaZJiARYXKa7Ark7Moc9Zxfi7EMx1YWP4QaZYuuNz6kiz6wdatsLu7lFlzLdALyhyW1ZWxur9A= 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=lDo5gsmq; 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="lDo5gsmq" 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 59N6sw1w007476 for ; Thu, 23 Oct 2025 10:26:14 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=1mabdmqX3eI X6g/fR4x0Rd7F3iIr79oESHYJTHYzAW4=; b=lDo5gsmqju6fplgcndLZxJE8T+d f3/hr0AHVs5i7IjMExNfUOWaBdjo69LLl3P3JV7SlYr8IcEx6vA91dQai/MZeSJo RGOPW7+8ge+1enQIg3a/PdkqlryFG7q4y+QUOcLJa51t+NA16XNgfcfC+LVTlkVO 2+Ep5A2k1BvaoNLNTnxKIiRgKcj2jUs9vRn047OEcfCAhCzcdy+ULLgIqhFyRSoH KBp7BLgzizT60Qye3cpG2DA+ArP0zJoqAMl6/wsF3SBac6Xw4iVpA9ICBnmtPNLd wY55hLV2HzBazBInCP+Eo3uPyYhMxNh+Aeo2XnESJhA1IiJ/o/hR3FqdKUA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v34483a7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:14 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e892f776d0so33571171cf.0 for ; Thu, 23 Oct 2025 03:26:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215173; x=1761819973; 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=1mabdmqX3eIX6g/fR4x0Rd7F3iIr79oESHYJTHYzAW4=; b=K6rF+ypplgYZgmtlPY2Q1zTiQ00ERhOnsBVg2zm/hqPYTm8lSko8JfnBuqpd51E0Sy t6w7egpf2fywlLD0Buq2cKSdv2kZ3Mg046+u1hMPW8rRc1+tQN6gN8Cs3ne7Snb6oVHx F9qnUo3IoZfJ3NjqhSoohMjgL4I29cgc/v4u7flv1/YpVQqHJpxtxeOOLvKiRTaro9Uv N6EGuy54KGqWpMOl3rkr2XAm7gPQWPJbRvHP2W87Aj26wE89de9ybJ3eP53eRKWWmpDK X1j7L3FQkw7hxjRRDbTE6R02m606rHgBKRwTu+8JHGps3ZZIQRCL4+SwtdBGbZfjg+wa wtZA== X-Forwarded-Encrypted: i=1; AJvYcCXDmtDHV6gGoq3wqEitohjRHqhkM9Rf+4JjpkS+vTV+izHtmHUZrmeUg4Se+lYr23Ol8q+62EiDDuaURac=@vger.kernel.org X-Gm-Message-State: AOJu0YykLXho/wanaHbIgKV/Fo5gA7l82Wp7mnG2/4JLJYQLNsjYKvLc lsHlXkpkag5inaX1O9xwrrAlUJR1cgLq5NkRVpXDMWPeRvkWTgjc3tzNKE3NPWJqWnla3LqtWgi 8X+3RGVHzwE0+MX+ty7XQxh2ds8UfrU+oleCXJnE4t9IcjlTSiUK1QdKTITspce9Rpzo= X-Gm-Gg: ASbGncvpYtB1C5Qk/K6Sm9i31bBp3iuFxgkcN3OIsGn/xmBT4jHZ09pkCKw2rZmD61X l+cegESgnhIEpL49kSPSjMNvrRrVWNAjjRIiCVkWf6+BJ23Zpb3/XiwwrZ+ka3f3Q2md9+xmvwm SV7ppz2NV61SzLQCB4FIbdHNQtlyaknP3RYZhuWZBKMXVLWx7ZTIBOSWvJFdM7mMbaBCmmiNYRW KS2L3N0jc8TO/IQHbQVVjiXLNe5Oa6n/QMDfIZj4Nleb4yHWO1/5zq+PKc7QPJzldrdbutX+nI8 qMDUG46b48GjMCGhL3b2g8Qw/1zj1N/8LCcJDhDM6s7bW9eD0xiKMSAEhJY3m5GTg4bJWPVxdKv m0TOGQgd9/GSn X-Received: by 2002:a05:622a:8346:b0:4e8:9dab:2737 with SMTP id d75a77b69052e-4e89dab27cemr239049241cf.56.1761215172881; Thu, 23 Oct 2025 03:26:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG1r2cQ1Xs6iSILRFVoCL4m3+fRdthOPcOcxyZZCeCH/t6SKBhUh9GZCJ5uRTz69qelDUFttg== X-Received: by 2002:a05:622a:8346:b0:4e8:9dab:2737 with SMTP id d75a77b69052e-4e89dab27cemr239049071cf.56.1761215172400; Thu, 23 Oct 2025 03:26:12 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:11 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 14/20] ASoc: qcom: q6apm: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:38 +0100 Message-ID: <20251023102444.88158-15-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: KVUOpXjU_0KEr6VzkvfhSyj51OHzM6do X-Proofpoint-ORIG-GUID: KVUOpXjU_0KEr6VzkvfhSyj51OHzM6do X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE4MDAyMyBTYWx0ZWRfX4NMjlsxkIEH+ ywIKqHloKIKZZYkyaRcwgzoc4giiu+m3MVqzJtpTZ/dopTPP6BrYf/aurz0MxcvCTUr2SyHa67O 54oMhem7KaqUxniuqZLl2uk2rQgj5k4eUPVJeijGeHpMsA43JHwsZLsjqj2V658AuwwYYDrsC9+ wEE+FXieM3dRAEKLeqK0W8xcQbVrXZ0tJ7e9nNivZPgo97IeSBovPPcb55xxKXAnBj2vOXoflPE SxDfzw98wvve0WtKbam+ZAzJTVvRCu/J2nvnyJxDxg6zaSNnK5n7prWDaKlz1EOmfq/ylxW7HVM VG39lFsSpiG0VwaSTsk9flx7fKTaOyTYcLcRewRbCqhkXVF7IyUXucSH6t8WE3XxuGNiIe7BJxm bNRrriNnkCEsQffXTcQu0Ipj7KGQxQ== X-Authority-Analysis: v=2.4 cv=E/vAZKdl c=1 sm=1 tr=0 ts=68fa02c6 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=ORCg8BdZNXsK9r0PxOcA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 spamscore=0 priorityscore=1501 bulkscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 adultscore=0 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180023 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm.c | 57 +++++++++++------------------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm.c b/sound/soc/qcom/qdsp6/q6apm.c index 0e667a7eb546..94cc6376a367 100644 --- a/sound/soc/qcom/qdsp6/q6apm.c +++ b/sound/soc/qcom/qdsp6/q6apm.c @@ -99,12 +99,8 @@ static int audioreach_graph_mgmt_cmd(struct audioreach_g= raph *graph, uint32_t op struct apm_graph_mgmt_cmd *mgmt_cmd; struct audioreach_sub_graph *sg; struct q6apm *apm =3D graph->apm; - int i =3D 0, rc, payload_size; - struct gpr_pkt *pkt; - - payload_size =3D APM_GRAPH_MGMT_PSIZE(mgmt_cmd, num_sub_graphs); - - pkt =3D audioreach_alloc_apm_cmd_pkt(payload_size, opcode, 0); + int i =3D 0, payload_size =3D APM_GRAPH_MGMT_PSIZE(mgmt_cmd, num_sub_grap= hs); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(payloa= d_size, opcode, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -120,11 +116,7 @@ static int audioreach_graph_mgmt_cmd(struct audioreach= _graph *graph, uint32_t op list_for_each_entry(sg, &info->sg_list, node) mgmt_cmd->sub_graph_id_list[i++] =3D sg->sub_graph_id; =20 - rc =3D q6apm_send_cmd_sync(apm, pkt, 0); - - kfree(pkt); - - return rc; + return q6apm_send_cmd_sync(apm, pkt, 0); } =20 static void q6apm_put_audioreach_graph(struct kref *ref) @@ -148,16 +140,13 @@ static void q6apm_put_audioreach_graph(struct kref *r= ef) =20 static int q6apm_get_apm_state(struct q6apm *apm) { - struct gpr_pkt *pkt; - - pkt =3D audioreach_alloc_apm_cmd_pkt(0, APM_CMD_GET_SPF_STATE, 0); + struct gpr_pkt *pkt __free(kfree) =3D audioreach_alloc_apm_cmd_pkt(0, + APM_CMD_GET_SPF_STATE, 0); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 q6apm_send_cmd_sync(apm, pkt, APM_CMD_RSP_GET_SPF_STATE); =20 - kfree(pkt); - return apm->state; } =20 @@ -270,7 +259,7 @@ int q6apm_unmap_memory_regions(struct q6apm_graph *grap= h, unsigned int dir) { struct apm_cmd_shared_mem_unmap_regions *cmd; struct audioreach_graph_data *data; - struct gpr_pkt *pkt; + struct gpr_pkt *pkt __free(kfree) =3D NULL; int rc; =20 if (dir =3D=3D SNDRV_PCM_STREAM_PLAYBACK) @@ -290,7 +279,6 @@ int q6apm_unmap_memory_regions(struct q6apm_graph *grap= h, unsigned int dir) cmd->mem_map_handle =3D data->mem_map_handle; =20 rc =3D audioreach_graph_send_cmd_sync(graph, pkt, APM_CMD_SHARED_MEM_UNMA= P_REGIONS); - kfree(pkt); =20 audioreach_graph_free_buf(graph); =20 @@ -420,13 +408,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; - struct gpr_pkt *pkt; - int rc, iid; - - iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); - pkt =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); + int iid =3D q6apm_graph_get_rx_shmem_module_iid(graph); + 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); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -450,11 +436,7 @@ int q6apm_write_async(struct q6apm_graph *graph, uint3= 2_t len, uint32_t msw_ts, =20 mutex_unlock(&graph->lock); =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(q6apm_write_async); =20 @@ -463,12 +445,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; - struct gpr_pkt *pkt; - int rc, iid; - - iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); - pkt =3D audioreach_alloc_pkt(sizeof(*read_buffer), DATA_CMD_RD_SH_MEM_EP_= DATA_BUFFER_V2, - graph->tx_data.dsp_buf, graph->port->id, iid); + int iid =3D q6apm_graph_get_tx_shmem_module_iid(graph); + 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); if (IS_ERR(pkt)) return PTR_ERR(pkt); =20 @@ -490,10 +470,7 @@ int q6apm_read(struct q6apm_graph *graph) =20 mutex_unlock(&graph->lock); =20 - rc =3D gpr_send_port_pkt(graph->port, pkt); - kfree(pkt); - - return rc; + return gpr_send_port_pkt(graph->port, pkt); } EXPORT_SYMBOL_GPL(q6apm_read); =20 --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 7875930B512 for ; Thu, 23 Oct 2025 10:26:16 +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=1761215179; cv=none; b=B3w+5DRNcSM0gkVUJRi/r+T78Ni9pb1arqEilBrmcrmc4JHtOVnXgFomqlKSTLn1HTG22vsf/HZviJVaIwpNPIbC4XITIUJ5s2I8SQxR8oSPvqtMsiLZyfXMy/o6A0ZiBJfWeTpWwNI7WdLHHDHPXG/4R/N6E4LYSVTDmczk3W8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215179; c=relaxed/simple; bh=SejOUWbTAy/5ROULM2ELVlqM+FZ6nMOhFi6ugNEQavQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YUze3jLJGfiKdvARx5LOdWCslSCDXCRtUN/woA/ugk/9ni3/4LAJy1an0J0dcFMpUM+eOtx1o4hpeMQZO0SCN7vl9e0KhhtFL3XTj5ChWyGVpH1dW9GaOAzWHR+NMoHVsaUR5ZLLkfVZMSb33g96y4yI8tgio+t+ThSyPOv/Td0= 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=D2dLk21D; 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="D2dLk21D" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N7Ec7q015926 for ; Thu, 23 Oct 2025 10:26:16 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=FajSm68u81z o6yJDj0yJMvUAWFriu/OwYH2XhH8JyXE=; b=D2dLk21D+aPzeguIg6XY3m9IK+x vNKSrzGTtSzyNDixO9MQPNzn9eQr4EOPkOMJTYKcSVHBzyYi/Mw1QlOprTyAYB4L EAoZVidPNo8NvmCdAyu81ha9+g1GCd80AiTCJg2P4PhEiDvAHWkxZOUikzaS6cxt cdoi9GDSlDrQTT60zYx9g9DfHuEpc4hazA5wFhhHoT6O3IDyuZj2D1NdUwXNFVos n8Vc546wV4VhKUm5h87Xgu96Gq8wTmTwbRD6QI2ISEaJ6oVV7vNPle1PiSUYzswU CJ1xTP+K85TjZQnwIk3g1IOfdkClPCzu827lapjBlCf1XICqIxQO8IVuFDg== 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 49xkpsdmvh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:15 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-89087f3817cso64821085a.1 for ; Thu, 23 Oct 2025 03:26:15 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215174; x=1761819974; 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=FajSm68u81zo6yJDj0yJMvUAWFriu/OwYH2XhH8JyXE=; b=Wvzve7QKwzH+jtIwz1/QsV2jAyXNIhz4WInevgJhUw9ZmoqK+IYqxiWbaN/u3w0Kur IEDLGZOq+fjpAtWkUa8zgpOjw38sTI05VKGy0jWF0rBnU4oGb7wv8geQEtp01priiKt/ zZRt4+B9kdZPCBSHe5A6cy5doTMzD8onFglP50gwyH7uXPKdhO4n9uohSIIptKdykPPQ C+VRFixpOOiIH3BhbFfJEKtvacEUleZg2eFtihhrSY4RUrYjLBTd9/WJwgXbP+ACZX6D rYfmsmW1k8a9PKBezI3HLcMwdIRYYzvwjmRVST6cYE0dr3Y60cSZHMsnPzTmAQMV4r00 dJbQ== X-Forwarded-Encrypted: i=1; AJvYcCXg3rgWUybWSaEq/LijMjGTNippBDakn1Y8yNQrXCXqhz35lW+S8g1alazuj2/gkNhJqguGenRu5BxFQX0=@vger.kernel.org X-Gm-Message-State: AOJu0YxkDMbq997jwVOTIHlXtSKKyGmMUvLnYUKq1sbMhFxywDHWHijt PSGAC3XaeRxR9Od0vCkcXH4MoSg/P26IuIPBouu4KeUoQzvQ117k7sW5Q00tYuQqu4TXXq9B35J 4KeYTqeufRd1oxtbvJg6/nyT8DtVAq9hRJ5JlAdbTDWD66y5k/0hK2GYdT0w/zRjmB5M= X-Gm-Gg: ASbGncs2DIlh2qUBAMGjdnNFEChXBf3wh9kwEv7tC93sW2bd+U8So03dFthM+ocgaRM qqQTXbLKoHFB7oZxSeCeEf06qJ7oznbnxLuu9vZ+zcABvX9NmeBCg3uiy84NCXdPcBG79CHxXct 1Pm1+Jq6o9fePhr8dbQst0mmr9HfuxYgUrPZ6d5izfLSutBNbhaCJNVKlWujSU1hKu8RvkjS6Tc R9/6kY9JXgl3jjIPyPN+7kFdxCFkhGDmj1KOKGJwKFd8sG9uqPuSQ5I5diwjLcG6iOH1Nz5nK4m 3dDyAgrYroasiocQoyCleKmw4wJ842nyyKr77IJ+QjZgJDHuHWuN0p/DIgYk9A4T6c9iva6rMbk xVHVAGS0BlKVM X-Received: by 2002:a05:622a:1114:b0:4e8:aa11:586a with SMTP id d75a77b69052e-4e8aa115bbfmr248237581cf.53.1761215174253; Thu, 23 Oct 2025 03:26:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLF+Hw8CW8MbahSfA8tACDLOuC6rzyi9L5cROc7gcuF/UeO13IMGr98DKx00AXgM1vVR7AVA== X-Received: by 2002:a05:622a:1114:b0:4e8:aa11:586a with SMTP id d75a77b69052e-4e8aa115bbfmr248237361cf.53.1761215173810; Thu, 23 Oct 2025 03:26:13 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:13 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 15/20] ASoc: qcom: q6prm: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:39 +0100 Message-ID: <20251023102444.88158-16-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIxMDE5MCBTYWx0ZWRfX4Pc0xwLLpGBT EES1+bfNllVXZjO6zxgZNs51CnH6x4ZCAlZstc8XccccpVG75GNHdPJConhz/0oRUbmXiUlBLdx aVnBE1HRt0Op8vwz8HoPhR2+zx+e0ks4+EdZfb+YG+IWLsFHIKsoH6hg0oDg8AUT4l45PfrUe6F kb7RLsmGhCf1nikY5DhSsc+sZhQbEUAEILv2LHwMCB9ovNJ/VugqJnCVcK/c8+vAALsavRWKNlX TtBXuxejMtOQMrKwWvPP5YaCROPE0aN7Hv01GixLyoLfQ0NoGq+XCGRsiP9laOk54Kbl1A7H2g/ 9xV/2YRsKjtlQ/HFRBF6DTrmcbn1uYTIp6FoDKteGJfN40gwdQQ2B7rrAArzwomq+cJ7oS7dzP9 F9/S1wdgSN3ArB4gX6M/Tetmctu+Vw== X-Authority-Analysis: v=2.4 cv=FbM6BZ+6 c=1 sm=1 tr=0 ts=68fa02c7 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=XDFA_cjcnCjOe_gdXw4A:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-GUID: N6SlgK0Wv5CHlztyFncHuoGWoSzs2g9K X-Proofpoint-ORIG-GUID: N6SlgK0Wv5CHlztyFncHuoGWoSzs2g9K X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 suspectscore=0 spamscore=0 impostorscore=0 clxscore=1015 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510210190 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6prm.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6prm.c b/sound/soc/qcom/qdsp6/q6prm.c index 81554d202658..0b8fad0bc832 100644 --- a/sound/soc/qcom/qdsp6/q6prm.c +++ b/sound/soc/qcom/qdsp6/q6prm.c @@ -62,8 +62,7 @@ static int q6prm_set_hw_core_req(struct device *dev, uint= 32_t hw_block_id, bool struct prm_cmd_request_hw_core *req; gpr_device_t *gdev =3D prm->gdev; uint32_t opcode, rsp_opcode; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 if (enable) { opcode =3D PRM_CMD_REQUEST_HW_RSC; @@ -88,11 +87,7 @@ static int q6prm_set_hw_core_req(struct device *dev, uin= t32_t hw_block_id, bool =20 req->hw_clk_id =3D hw_block_id; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, rsp_opcode); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, rsp_opcode); } =20 int q6prm_vote_lpass_core_hw(struct device *dev, uint32_t hw_block_id, @@ -116,8 +111,7 @@ static int q6prm_request_lpass_clock(struct device *dev= , int clk_id, int clk_att struct apm_module_param_data *param_data; struct prm_cmd_request_rsc *req; gpr_device_t *gdev =3D prm->gdev; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 pkt =3D audioreach_alloc_cmd_pkt(sizeof(*req), PRM_CMD_REQUEST_HW_RSC, 0,= gdev->svc.id, GPR_PRM_MODULE_IID); @@ -139,11 +133,7 @@ static int q6prm_request_lpass_clock(struct device *de= v, int clk_id, int clk_att req->clock_id.clock_attri =3D clk_attr; req->clock_id.clock_root =3D clk_root; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_REQUEST_HW_RSC); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_REQUEST_HW_RSC); } =20 static int q6prm_release_lpass_clock(struct device *dev, int clk_id, int c= lk_attr, int clk_root, @@ -153,8 +143,7 @@ static int q6prm_release_lpass_clock(struct device *dev= , int clk_id, int clk_att struct apm_module_param_data *param_data; struct prm_cmd_release_rsc *rel; gpr_device_t *gdev =3D prm->gdev; - struct gpr_pkt *pkt; - int rc; + struct gpr_pkt *pkt __free(kfree) =3D NULL; =20 pkt =3D audioreach_alloc_cmd_pkt(sizeof(*rel), PRM_CMD_RELEASE_HW_RSC, 0,= gdev->svc.id, GPR_PRM_MODULE_IID); @@ -173,11 +162,7 @@ static int q6prm_release_lpass_clock(struct device *de= v, int clk_id, int clk_att rel->num_clk_id =3D 1; rel->clock_id.clock_id =3D clk_id; =20 - rc =3D q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_RELEASE_HW_RSC); - - kfree(pkt); - - return rc; + return q6prm_send_cmd_sync(prm, pkt, PRM_CMD_RSP_RELEASE_HW_RSC); } =20 int q6prm_set_lpass_clock(struct device *dev, int clk_id, int clk_attr, in= t clk_root, --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 B8CF030AD00 for ; Thu, 23 Oct 2025 10:26:17 +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=1761215181; cv=none; b=Vn9OCUb4eMgi64OYYi8GmqwRPf2wkVSziIcoxtB/VpSF7aAwSbSj+moQnc9LvHZgnEmi3i1cC1ZCwV+18VbIgl96fzaJ7Tp53Y+35WwiNsdl+baaIHPOyhaWIoB/gvWUTQYU6WkXdvAL9B9aHTP3YGQm3bEWJkSB2M23+JTv6KA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215181; c=relaxed/simple; bh=Pl+VRIM8jMYmrEk1r+d3bUb24PCwoL2Iz+GkWBsYZAc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JLW/QciQyuB0thbtrHVBCCkhavi+C/c78EIy7xC61e3fMe/LpeeDToFgeEzMr213sgFxbk5RmqKljWcF3BKJ1UqsimabzTnKb36NyFS4eQ7Z29RY9XCaeDgZBr1uH6aYk01Tmo6Y6EJKIqNhGug3J46t7OuSzj7T39E/+epLMXQ= 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=jdlst7Q8; 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="jdlst7Q8" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N75t44026940 for ; Thu, 23 Oct 2025 10:26:16 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=U5s7+tt/ePg j8UCqWNRYRAttxI1T69YcEon7Yn8Lo/Y=; b=jdlst7Q8YegplkFfVB6TNb5sUiI O1EKfZ4nIwLZteHgJnn7mQ4yo4rtDUIbfYWmz5ABBXjHs87oHmxtiwSlVlQf+l2U UEfo5Y7NTuPbWJ9Nynzl3zrJ92Imd6Q4Y8Di4i3cKox17q/1W+fpivH9BS97i8yM rZTL+u+fpioLzpi1sJU17g9ep3x3mNQLTCXQHJ+FnMmqYiNGKIGZMfo7aSl9CuSQ o5s1/5ddVZfVHE/IOWvJZoyX3OVM5uktAdbpKV2EE14qU4jq+xL107ul1ORXMmdP y3VDAKaChItnYfBytqa6f8zjaSb89L/gjQKJu+e5PnG98BYU+u03V/AMKuA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y5x8j44d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:16 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e88a5e70a7so20397241cf.1 for ; Thu, 23 Oct 2025 03:26:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215176; x=1761819976; 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=U5s7+tt/ePgj8UCqWNRYRAttxI1T69YcEon7Yn8Lo/Y=; b=l9ztyS1FisfMFbaKzGadkRHpUeQZqSQP+10W+BXxBL9xT72qT7fvvOONHOZ97yVdUR wzcEl3VcaRemk5tghb5p3odrR7BET8sa+8LclCygPcpmcyP1IMLP0eS6dz8UZZ8QMaiT NDImTYmzx1wejAY1FQ4hJPZiMOgq/tZWJ375k0fGBzCw2fUNHLqDfZ/eDC2FKolHApJF pWpFEw4dulzuW0QY80Dp3pUpf/r9u41Rk7rJytmeKa/FzLu4eLRBTuDkXrNtPHwusi+l Qy8Nl1eh+eBnnm4yhYnmgrtM6GaR0+etD04VM8G2fylmY+yn+mEE3dGYr4so39q9RPaW mYOg== X-Forwarded-Encrypted: i=1; AJvYcCUv9ROj5E17nkHGHKr6btG2G5j/9eLlRzXy8Jv3e9OiqncAYLCTwJq189vEjOSEoZ3aC8Q9T65PqUzdtIE=@vger.kernel.org X-Gm-Message-State: AOJu0YzsGNWH6j/W8IU17u0UHAKmN991FlGCXxgVwTSbK/Na1PstSYJ8 NcuTxIDif7yIDBUaOBARFYXUiiR/MoMzlp8GNeyORGeg2wTYItdKN351Qd91cxK766l12PGyb47 IzvnK1xOtFICBrvH1iyPvP/ZvcscyC3CXc66W7ZNGJSfsA3/7Y9nuGsH/9LEVjSThBBE= X-Gm-Gg: ASbGnctThist5MwO5AsODO2aqiz1BhQ8Gm/pZ3IcuDIYWP9KrBhxMZzFF4aPToCSN0H SoMoAHp0XbomnvsQXXz6BXIngRTW9rW3OV4ERlmTLftZlR/5Kz5gaDZt9t8y5jyQc6Gz3G19g4A cg6ro7DySMBqOdDHMcOa5fZwS1bQBrKtb9l7TNLq4IYqxp3OfNoKMO5kR3BYwBV3VdTlJrY06NE DAwru9+GzuguW7/OC8W1AXZDifBTQe0YxKvSlFRCYRIq11f4M2m4poyLD1qnOYViZHh4btbriNL ZHx7+Mn3pHqTbWkwNGsDgYfY9ly7x5juLhU0yjwlQRTkgu0Q5oSssvcdoxliTXRjvB5vQqXxoQD QxF5wZIE+z3hy X-Received: by 2002:a05:622a:4:b0:4d5:eedd:688d with SMTP id d75a77b69052e-4eb7852d982mr57834461cf.30.1761215175505; Thu, 23 Oct 2025 03:26:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE0U7ebBcvl1ESr1pmHAg9hUcnB8qHP6KbgqfaqSs9ZIXwm/ptBfCmEGtKtFSfmg7i4lk+RVQ== X-Received: by 2002:a05:622a:4:b0:4d5:eedd:688d with SMTP id d75a77b69052e-4eb7852d982mr57834101cf.30.1761215174821; Thu, 23 Oct 2025 03:26:14 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:14 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 16/20] ASoc: qcom: q6asm: Use automatic cleanup of kfree() Date: Thu, 23 Oct 2025 11:24:40 +0100 Message-ID: <20251023102444.88158-17-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: tZLId8lMYPUpzHfi7RQZ35YLA4DL0Vhz X-Proofpoint-GUID: tZLId8lMYPUpzHfi7RQZ35YLA4DL0Vhz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDIyMDE2NCBTYWx0ZWRfX0ZPXO73DQRXI IwVtqqDPogPfegXVsGI0YTvGEznrLDUegQMND40ePswskooI3n+IRkUe49C3C173nzUHaQtR5rf m5Kx/aqeXEKjGQfvOLeKQiL57A2Xcrrfu5dJB6eYzFd7Jd3cqO3Oet3ARDAKy+dMyMLLHu4/8K2 rJP1rypDcYQf576IQyE3qgKnWpQRTsOb7wGHnDI4hWjNgS2A2v5vKkQ30ctcSJ1fkh29nNJvz6o NGdE+AaG8bw0ul11x08+VIz3QHF1jksha1nrqr0Zm7AMKAHijnq2q8MFrfC3gFgalUygODVeFPp zwSsSW6EGfwTZMDpe0awDzTbdigOnvmLo3AGvHksV+5yERmlsEwBXnBJDLmDfyDRRunHkEgJmyn fJUo9Ptbzwx4YgHFO+U8XfwvxDC6MQ== X-Authority-Analysis: v=2.4 cv=UOTQ3Sfy c=1 sm=1 tr=0 ts=68fa02c8 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=asJyTNMcW66pmJShVVUA:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 adultscore=0 clxscore=1015 phishscore=0 bulkscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220164 Content-Type: text/plain; charset="utf-8" Its common pattern in q6dsp code to allocate temporary buffer to send gpr/apr packets and free at the function exit. Now this can be simplified via __free(kfree) mechanism. No functional changes. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm.c | 166 +++++++++-------------------------- 1 file changed, 42 insertions(+), 124 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 1478948f9fe2..431a99776dcc 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -335,7 +335,7 @@ static int __q6asm_memory_unmap(struct audio_client *ac, struct q6asm *a =3D dev_get_drvdata(ac->dev->parent); struct apr_pkt *pkt; int rc, pkt_size; - void *p; + void *p __free(kfree) =3D NULL; =20 if (ac->port[dir].mem_map_handle =3D=3D 0) { dev_err(ac->dev, "invalid mem handle\n"); @@ -360,14 +360,11 @@ static int __q6asm_memory_unmap(struct audio_client *= ac, mem_unmap->mem_map_handle =3D ac->port[dir].mem_map_handle; =20 rc =3D q6asm_apr_send_session_pkt(a, ac, pkt, 0); - if (rc < 0) { - kfree(pkt); + if (rc < 0) return rc; - } =20 ac->port[dir].mem_map_handle =3D 0; =20 - kfree(pkt); return 0; } =20 @@ -431,10 +428,10 @@ static int __q6asm_memory_map_regions(struct audio_cl= ient *ac, int dir, struct audio_port_data *port =3D NULL; struct audio_buffer *ab =3D NULL; struct apr_pkt *pkt; - void *p; + void *p __free(kfree) =3D NULL; unsigned long flags; uint32_t num_regions, buf_sz; - int rc, i, pkt_size; + int i, pkt_size; =20 if (is_contiguous) { num_regions =3D 1; @@ -481,12 +478,7 @@ static int __q6asm_memory_map_regions(struct audio_cli= ent *ac, int dir, } spin_unlock_irqrestore(&ac->lock, flags); =20 - rc =3D q6asm_apr_send_session_pkt(a, ac, pkt, - ASM_CMDRSP_SHARED_MEM_MAP_REGIONS); - - kfree(pkt); - - return rc; + return q6asm_apr_send_session_pkt(a, ac, pkt, ASM_CMDRSP_SHARED_MEM_MAP_R= EGIONS); } =20 /** @@ -947,12 +939,8 @@ int q6asm_open_write(struct audio_client *ac, uint32_t= stream_id, { struct asm_stream_cmd_open_write_v3 *open; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - - p =3D kzalloc(pkt_size, GFP_KERNEL); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1018,7 +1006,6 @@ int q6asm_open_write(struct audio_client *ac, uint32_= t stream_id, ac->io_mode |=3D ASM_TUN_WRITE_IO_MODE; =20 err: - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_open_write); @@ -1029,11 +1016,8 @@ static int __q6asm_run(struct audio_client *ac, uint= 32_t stream_id, { struct asm_session_cmd_run_v2 *run; struct apr_pkt *pkt; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*run); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(*run); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1054,7 +1038,6 @@ static int __q6asm_run(struct audio_client *ac, uint3= 2_t stream_id, rc =3D 0; } =20 - kfree(pkt); return rc; } =20 @@ -1115,11 +1098,8 @@ int q6asm_media_format_block_multi_ch_pcm(struct aud= io_client *ac, struct asm_multi_channel_pcm_fmt_blk_v2 *fmt; struct apr_pkt *pkt; u8 *channel_mapping; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1142,16 +1122,11 @@ int q6asm_media_format_block_multi_ch_pcm(struct au= dio_client *ac, } else { if (q6dsp_map_channels(channel_mapping, channels)) { dev_err(ac->dev, " map channels failed %d\n", channels); - rc =3D -EINVAL; - goto err; + return -EINVAL; } } =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - -err: - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_media_format_block_multi_ch_pcm); =20 @@ -1161,11 +1136,8 @@ int q6asm_stream_media_format_block_flac(struct audi= o_client *ac, { struct asm_flac_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1185,10 +1157,7 @@ int q6asm_stream_media_format_block_flac(struct audi= o_client *ac, fmt->max_frame_size =3D cfg->max_frame_size; fmt->sample_size =3D cfg->sample_size; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_flac); =20 @@ -1198,11 +1167,8 @@ int q6asm_stream_media_format_block_wma_v9(struct au= dio_client *ac, { struct asm_wmastdv9_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1223,10 +1189,7 @@ int q6asm_stream_media_format_block_wma_v9(struct au= dio_client *ac, fmt->enc_options =3D cfg->enc_options; fmt->reserved =3D 0; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_wma_v9); =20 @@ -1236,11 +1199,8 @@ int q6asm_stream_media_format_block_wma_v10(struct a= udio_client *ac, { struct asm_wmaprov10_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1262,10 +1222,7 @@ int q6asm_stream_media_format_block_wma_v10(struct a= udio_client *ac, fmt->advanced_enc_options1 =3D cfg->adv_enc_options; fmt->advanced_enc_options2 =3D cfg->adv_enc_options2; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_wma_v10); =20 @@ -1275,11 +1232,8 @@ int q6asm_stream_media_format_block_alac(struct audi= o_client *ac, { struct asm_alac_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1304,10 +1258,7 @@ int q6asm_stream_media_format_block_alac(struct audi= o_client *ac, fmt->mb =3D cfg->mb; fmt->kb =3D cfg->kb; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_alac); =20 @@ -1317,11 +1268,8 @@ int q6asm_stream_media_format_block_ape(struct audio= _client *ac, { struct asm_ape_fmt_blk_v2 *fmt; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*fmt); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1344,10 +1292,7 @@ int q6asm_stream_media_format_block_ape(struct audio= _client *ac, fmt->sample_rate =3D cfg->sample_rate; fmt->seek_table_present =3D cfg->seek_table_present; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - kfree(pkt); - - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_stream_media_format_block_ape); =20 @@ -1357,11 +1302,8 @@ static int q6asm_stream_remove_silence(struct audio_= client *ac, uint32_t stream_ { uint32_t *samples; struct apr_pkt *pkt; - void *p; - int rc, pkt_size; - - pkt_size =3D APR_HDR_SIZE + sizeof(uint32_t); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + int rc, pkt_size =3D APR_HDR_SIZE + sizeof(uint32_t); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1376,8 +1318,6 @@ static int q6asm_stream_remove_silence(struct audio_c= lient *ac, uint32_t stream_ if (rc =3D=3D pkt_size) rc =3D 0; =20 - kfree(pkt); - return rc; } =20 @@ -1420,11 +1360,8 @@ int q6asm_enc_cfg_blk_pcm_format_support(struct audi= o_client *ac, struct apr_pkt *pkt; u8 *channel_mapping; u32 frames_per_buf =3D 0; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*enc_cfg); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*enc_cfg); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1445,15 +1382,10 @@ int q6asm_enc_cfg_blk_pcm_format_support(struct aud= io_client *ac, enc_cfg->is_signed =3D 1; channel_mapping =3D enc_cfg->channel_mapping; =20 - if (q6dsp_map_channels(channel_mapping, channels)) { - rc =3D -EINVAL; - goto err; - } + if (q6dsp_map_channels(channel_mapping, channels)) + return -EINVAL; =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); -err: - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } EXPORT_SYMBOL_GPL(q6asm_enc_cfg_blk_pcm_format_support); =20 @@ -1473,12 +1405,9 @@ int q6asm_read(struct audio_client *ac, uint32_t str= eam_id) struct audio_buffer *ab; struct apr_pkt *pkt; unsigned long flags; - int pkt_size; + int pkt_size =3D APR_HDR_SIZE + sizeof(*read); int rc =3D 0; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*read); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1510,7 +1439,6 @@ int q6asm_read(struct audio_client *ac, uint32_t stre= am_id) else pr_err("read op[0x%x]rc[%d]\n", pkt->hdr.opcode, rc); =20 - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_read); @@ -1520,11 +1448,8 @@ static int __q6asm_open_read(struct audio_client *ac= , uint32_t stream_id, { struct asm_stream_cmd_open_read_v3 *open; struct apr_pkt *pkt; - int pkt_size, rc; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*open); - p =3D kzalloc(pkt_size, GFP_KERNEL); + int pkt_size =3D APR_HDR_SIZE + sizeof(*open); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_KERNEL); if (!p) return -ENOMEM; =20 @@ -1552,10 +1477,7 @@ static int __q6asm_open_read(struct audio_client *ac= , uint32_t stream_id, pr_err("Invalid format[%d]\n", format); } =20 - rc =3D q6asm_ac_send_cmd_sync(ac, pkt); - - kfree(pkt); - return rc; + return q6asm_ac_send_cmd_sync(ac, pkt); } =20 /** @@ -1595,12 +1517,9 @@ int q6asm_write_async(struct audio_client *ac, uint3= 2_t stream_id, uint32_t len, struct audio_buffer *ab; unsigned long flags; struct apr_pkt *pkt; - int pkt_size; + int pkt_size =3D APR_HDR_SIZE + sizeof(*write); int rc =3D 0; - void *p; - - pkt_size =3D APR_HDR_SIZE + sizeof(*write); - p =3D kzalloc(pkt_size, GFP_ATOMIC); + void *p __free(kfree) =3D kzalloc(pkt_size, GFP_ATOMIC); if (!p) return -ENOMEM; =20 @@ -1635,7 +1554,6 @@ int q6asm_write_async(struct audio_client *ac, uint32= _t stream_id, uint32_t len, if (rc =3D=3D pkt_size) rc =3D 0; =20 - kfree(pkt); return rc; } EXPORT_SYMBOL_GPL(q6asm_write_async); --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 56D0730EF7D for ; Thu, 23 Oct 2025 10:26:18 +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=1761215180; cv=none; b=SA/VlA8Pz8AYoPF36nsQIRrfJtjAi/uXwgUWucr64AXyGUpAfawdfl+3Kah9wisRsUjJmLbwML25iNrtJLcbbLzNhFMA8J7L9RTgue7trbIIaFKuGV4lO/DgRRZadV8sGiPe8l2OWbbKcDGI/ZFtfHIQvj9DlI+YOHphd0+yS6Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215180; c=relaxed/simple; bh=dLHz5GvCqsmxeiBqKMEL3HcMUOaRmWqxPH16ZJ+zr84=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pNa17NFLiC12i6dh+ROmddG2OD3U4pDhfc4SJcm2uK2Bq0BqoPP39WqSVkYVA5iA6VkDj1/5t67bYelvNCksIfK1qjf16pFGNe4lioOL99FrevRSRrDGrCk4TymSHUooDHFKphihdmIHGOPmFJk7WwkogvAANTq0LLMvRLJfP14= 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=AaKUTF3e; 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="AaKUTF3e" 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 59N8T7lC027485 for ; Thu, 23 Oct 2025 10:26:17 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=JitUmPpOE5T 5FCzl9njQ018JnbQNGz2uQiWhNK3tWOE=; b=AaKUTF3epbbr6yJaNDjUCsqzLAm 11y2e6WNB8UIH0mVSKCRRFMKznv1p93IpJS6wXXwKqUnUNbxFlFOG2EQ/OlzxA4c 9tIAcIsOrIHToT+i59sbKkEbCooFaW0LfPCDclQbIfHIeGNX2K9+C+8Bx966Lqer Bm+QfkfGcdrVKXOR3rkyydsG1QyIvGczahYTE2R6yZFeYe+A9810EV9c4oN9m0i0 ZUr9qSxzY8Dt0kJaCJERKrUM2bdEejoAQl575l/B7Z4Hx5yiVVnchdx48joQRnKQ gfsM7PH8mUmztwLPd0Sa7ZJ58TZVJeE0fs+64smAJQBzQgXOgCDVMuuDbEw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49y524a760-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:17 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e8b73b2f90so22785651cf.1 for ; Thu, 23 Oct 2025 03:26:17 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215176; x=1761819976; 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=JitUmPpOE5T5FCzl9njQ018JnbQNGz2uQiWhNK3tWOE=; b=AqFl03QfqHECDiBQCJ9s50lctf7nrJOJxTvYY/3NH+DWsbaitZ9kUqt2KeLJFGfOdc 5jYRk7tERcw+arMzuGRkMtmKzVF1Wa/2wLcwapu6otSKRA8reFZ7rG1Kjr0TgjzG+waF WXzSVE6KRnClZU/28BqHZt8iDjEjDRTw4s+IW3ANT5gX2m39TqAPDs0io/uhiLlcTV0p ER//BI+uEKE9KZgeiKqjQZ7GEb+HZ5wgLu5QQUpCajd0uLvD9NdHHqbsFmg9N4HXFj3v nMpf7uvzdiAnalh6b+0/fyW826RE+efgoOD7o4t0wPdQrkxYmvfjBf9qe3kPtRmHQuFP Um6A== X-Forwarded-Encrypted: i=1; AJvYcCUTXKYun4vB1yvLNYCH36O40h797sd7qZSwogAYI3RbUJdlTlv0lto/qMR6bkigZrv84COieiUqZ9rPw4c=@vger.kernel.org X-Gm-Message-State: AOJu0YxVc2Uw6Zc+iThhZhkKWlzYht2Eae0jDJ00oZQlkRZdSyDTAzQ2 6DndRAx3/LcbMTCTiG64v+rzH49R/Zf0dolEgARpVx5fQr6Jv/PdyDPmwIQTYVg4HAOEcBvqT4G vpin/XxxSQI63rWrmRjDLbiK65OeLIfgGtQ4YJYE70wlRBsxtmRVa9oJCTNTlb+FZMUg= X-Gm-Gg: ASbGncu26krIUQ4vNft481DKxjlA6XxrXC65VrGDcPCrkq+Ug/Z0DcoyIeD9uEopAr/ Auh3uJqcw7rmhEyElbm0mtSV645D8yW80MvLMXzYPsOEUAWlTtIuHwt89vFupXODFw/mAEWyJyv lwngWjLhJ9ZYV94SsfpjGF9ztkTlnvNlxV6erQtoPSNKaldS5PScRF5Hgb1SHdEBnhkzb0pTW9M XoN89wVnUqFzwj59sqI9ocLzu+PbUGQF714zc4F5vzoDRcnRVYfwZOtCsOSxA+tCsQTV3xlbnsA sTPtz5FohWHW2lzdATrljI1oSgqZ6BZi7D0YALfxTGkPv/RGKhsvoq66zwm48FXT5BTEIQ/GQpu jwdc4EtetTDBl X-Received: by 2002:ac8:598b:0:b0:4e8:968d:b14a with SMTP id d75a77b69052e-4e89d28295amr268425321cf.22.1761215176210; Thu, 23 Oct 2025 03:26:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEj7fkh7+VmeztYn4QdA68cJbOaNXQj+xi9BZBCSrDbEh6Oo9ctMku5VaXZ9TTwndXPdbnPQw== X-Received: by 2002:ac8:598b:0:b0:4e8:968d:b14a with SMTP id d75a77b69052e-4e89d28295amr268425171cf.22.1761215175778; Thu, 23 Oct 2025 03:26:15 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:15 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 17/20] ASoC: qcom: q6afe: Use guard() for spin locks Date: Thu, 23 Oct 2025 11:24:41 +0100 Message-ID: <20251023102444.88158-18-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDIyMDE1NSBTYWx0ZWRfX01EPZAT4cePe RL8H3BAD1CwPaSejOZIGwmctskat2tFUZm92FDvvuzTcHpUQKfSCS7086ra3Ro43btOv+OT97uQ dV8LhhY0k5tFSyKYpzF/K7Yak13uZ0xvG5FWM8v2ybUN3RpaxLLKsbwBEVd1XZfhxCSGDpTrmfp e/jvM0xqhJ5mPuXeHCJ9O0yftwlTwN8NSTAumUxXl2C2p4KFoUI4deiDjnBbwejv5CiXj6CnZDn WpeppIbNQ+6mEbSnaEXnB1DDj29B69W5V8YApb4cV16PF/QkKjLuK8kvnop2Fv9lSaax/acUk/J O3eEOxK/N/gvETlBLrmgLtRCWfkPdZ9CqX4K3B/BRHGjcXoq1nbm3CXCw1LmzsWGOkAsf1g+1Gd HR7snPqH8amRHNjerQa8XKufZX/umQ== X-Authority-Analysis: v=2.4 cv=Uotu9uwB c=1 sm=1 tr=0 ts=68fa02c9 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=RrrD4pAD4uqPltEmIwwA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: CDTjbr_dnoIDg7oHr4AIsmcNT-D02us5 X-Proofpoint-ORIG-GUID: CDTjbr_dnoIDg7oHr4AIsmcNT-D02us5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510220155 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6afe.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6afe.c b/sound/soc/qcom/qdsp6/q6afe.c index 56f85f1c2425..980851a12976 100644 --- a/sound/soc/qcom/qdsp6/q6afe.c +++ b/sound/soc/qcom/qdsp6/q6afe.c @@ -946,9 +946,8 @@ static struct q6afe_port *q6afe_find_port(struct q6afe = *afe, int token) { struct q6afe_port *p; struct q6afe_port *ret =3D NULL; - unsigned long flags; =20 - spin_lock_irqsave(&afe->port_list_lock, flags); + guard(spinlock)(&afe->port_list_lock); list_for_each_entry(p, &afe->port_list, node) if (p->token =3D=3D token) { ret =3D p; @@ -956,7 +955,6 @@ static struct q6afe_port *q6afe_find_port(struct q6afe = *afe, int token) break; } =20 - spin_unlock_irqrestore(&afe->port_list_lock, flags); return ret; } =20 @@ -1733,7 +1731,6 @@ struct q6afe_port *q6afe_port_get_from_id(struct devi= ce *dev, int id) int port_id; struct q6afe *afe =3D dev_get_drvdata(dev->parent); struct q6afe_port *port; - unsigned long flags; int cfg_type; =20 if (id < 0 || id >=3D AFE_PORT_MAX) { @@ -1810,9 +1807,8 @@ struct q6afe_port *q6afe_port_get_from_id(struct devi= ce *dev, int id) port->cfg_type =3D cfg_type; kref_init(&port->refcount); =20 - spin_lock_irqsave(&afe->port_list_lock, flags); + guard(spinlock)(&afe->port_list_lock); list_add_tail(&port->node, &afe->port_list); - spin_unlock_irqrestore(&afe->port_list_lock, flags); =20 return port; =20 --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 AA52A30F533 for ; Thu, 23 Oct 2025 10:26:19 +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=1761215181; cv=none; b=CkPHngatYRRh991o9LHEj75TvhzhixG5ERH7k49aRRrmtQW6ap+ITYPvgGr8Uw7rDJwSWBmZH1d9IiUZ1raWvEBjr8l6gTuETG1HDyrd3/cki6tcKUbA/EkR4ZRbL6vZf1TCUPEBYcTkTmy7xWjS07IOfkqfV79VBZ3SAccEZHM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215181; c=relaxed/simple; bh=t04XyOJAlW4a/cW3iIAeR5OckKuonqZ/J6zYap6C1zs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eerWthzUeYW5lefgaM5hl6YQHHTrZxEDhXHSYG+nTovSo2JajX4g57Ei1sPUhWdX906/ZeGjkDA4qKbQWSWb0++cLlS3WJ8oJq4fNjj9JNkg0lSM/2rdSxQ0ZwO6K4ofVeSSjuqwgiJqClMdG1UW4bOFxQQSxZLAyppQpQI5VDI= 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=D7Y5dDo5; 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="D7Y5dDo5" 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 59N6dfsI000663 for ; Thu, 23 Oct 2025 10:26: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=iDeZtnWh/qc Fvkr98+XBzVWqMHOVajWl1qfIqPp106w=; b=D7Y5dDo59fWFyB2WckwUeLAJIFI mxonuGuCSZS3RuXJNn+85mvVbCE6hyrHfvxcEK+ife1dQ9TpvaxJK3HTc70EVfgR bhq1pKBiorO0I6r5VDdzRwUY4ZMlo6fEBw9+T/v67mJICWAqQfpSeocv3Sz85so2 7Cq7WZb1DtvuRgxuQi8OpPXywFYm0d1GTd9wKkaIYJNRelqlODtPPlrUABo7mxue u7TB1O3Td1TtkjqcDOj5tT8Se5nR2YNi9puIaZ35J4VWUckWnYZmAkERXxvnpEVg IvFU9m4nl0wQh0y2dGbFHhZlV5okZYjn0zSaMSEl0JDB21gid4kIUlfjdDw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49w08wdp25-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:18 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-4e8a4c63182so17546361cf.3 for ; Thu, 23 Oct 2025 03:26:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215177; x=1761819977; 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=iDeZtnWh/qcFvkr98+XBzVWqMHOVajWl1qfIqPp106w=; b=Q41hmNbpjMQ0OFU7NSng2/n3wWOwbdsMnD2qkVSGBHMcawykLwjtPdtzcqEY1c4x09 sWJAHUAvAiIGi0TSY5iOMgWFUCYKijfRlFdo4tTpeyJFSjZkbfPi1G6TIcd8/btEDSWx oZTHN0OWzGVYh8xdMJCp77+Om/49v0UsNccbOdO8xZoC95nNuO2eISAA9bYlxGnnvY8k VGCvx2dlDuU7jM0C0UDU+QfVmdPjYBdx1Pt5sSlTi72Xl0DxhTKTSHibC2v+7rC5NbPM cu9JI2absLM5kIV5NUaGYbIUiM9K+D2T8S1M0m7ZseT6px6nAi5qUSPZWxWcUNQDyhZV y5LA== X-Forwarded-Encrypted: i=1; AJvYcCWSoqkaTZvQXUPghzUF4jZjJteQvf/2Tmz7QCLns7ysHTd6OxxxieWKaH8R3Nsm9kCqMNMfOvoJN7e2Im0=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5BY7YA9rAXtNIiyg3gOuUzLSj58+gIITEJdOJImYJDMfZs93v hBWQ95hCHVdhHKxdXiVMvPyQWLrTw/5lVf96E19YW1DOCORDGFfjbC31GWdPRPRCYk97CErq3Ix 5frK4+cWGJL3SLJeLPegVHyh8jlWfh2B5vM8MAu263xebdvp2MA5pxgPV/K5LbpINXEo= X-Gm-Gg: ASbGncuT5wP7RtmDIJRdc17HdjE0fiMbPMq7jII1DdnQ/2BEK1+f68DQjHVixwM8V3Q IcLmqpNFi6bPVLYZ7NvnZYK5JUzqQ9BTguxwzcCPySgXWT4b04mwhUd6I9+rkJwmQXvGYtNE980 jYitbUr8o4J+6K6JUwej0lYEbNOOh8+ho3eSRCX7HcXGcDNOKyO0knmCsntvfAC0HQb0LMbvcMr CLfGkgAsNMGfBHteUJiAZB6S+6uQlFWqkRqntQvNoldqA/QIDPhkMNKGZbPBPnWoRtN3x5TAOjR 7WK/NQH7Bha3X//2LKS3uMgHR/7JwbQWUIOGKXbYbtHumGGR0rXYZ6BGfq2soHvQvtrZm33FGzb X1Quj0enHOdAT X-Received: by 2002:a05:622a:1196:b0:4e8:a307:a428 with SMTP id d75a77b69052e-4eb8107e17amr21075761cf.28.1761215177502; Thu, 23 Oct 2025 03:26:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF3rxCOTom7ofYplfN08by1bi87SvFeGoFIn0488gg2BDmU7tq8Qp6ELKT3VSIa5YBBU73qWQ== X-Received: by 2002:a05:622a:1196:b0:4e8:a307:a428 with SMTP id d75a77b69052e-4eb8107e17amr21075581cf.28.1761215177083; Thu, 23 Oct 2025 03:26:17 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:16 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 18/20] ASoC: qcom: q6apm-dai: Use guard() for spin locks Date: Thu, 23 Oct 2025 11:24:42 +0100 Message-ID: <20251023102444.88158-19-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: Bwh3-ACZ5ZdRWPYoBth4PRhIkwEKk2Fm X-Proofpoint-GUID: Bwh3-ACZ5ZdRWPYoBth4PRhIkwEKk2Fm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE5MDA5MCBTYWx0ZWRfXyDXC8OjHJNP1 S0fG8GS4082Y0vW/KbtcVXywkOGIPHJSNv9YSixtDf8pULGxYVhS4fmg2Np03ILYNQGQF0YIaw6 UePTLs8WE6g8a0RRBIMQG0i9KMAlNDiRFrtOB+UoylKXVeYWJgvZa5kOCwKM3M22iBivJNiFedT r+Oi/hGy3or4qXP4PdlW6p5crJT3SRVBHHVFP/NCL9Fgglq7uekHUfBLSKmIqfCOQ7ztJemdgHo wPCOQ9coQAVSIsMWF/7+mXPd0OsZ3WVdYADsf8m/2T4KMhM4pAgGK2YYzQIBPqteR+0UwsTxaql cWt0VpjpwAHf+sCcDuOeMAWi/mFFo3nNXSpwWffmG8Cqj2GQiT2DST6e6LnxiJc825RKJhZ+Aia ojmgLJ9+3q2ptF2nfsfR2uVdK8ehbQ== X-Authority-Analysis: v=2.4 cv=V5NwEOni c=1 sm=1 tr=0 ts=68fa02ca cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=_oaKiOAelN1AsWPOrNEA:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 suspectscore=0 clxscore=1015 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510190090 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6apm-dai.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6apm-dai.c b/sound/soc/qcom/qdsp6/q6apm-= dai.c index 786ab3222515..aaeeadded7aa 100644 --- a/sound/soc/qcom/qdsp6/q6apm-dai.c +++ b/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -151,33 +151,28 @@ static void event_handler_compr(uint32_t opcode, uint= 32_t token, { struct q6apm_dai_rtd *prtd =3D priv; struct snd_compr_stream *substream =3D prtd->cstream; - unsigned long flags; uint32_t wflags =3D 0; uint64_t avail; uint32_t bytes_written, bytes_to_write; bool is_last_buffer =3D false; =20 + guard(spinlock_irqsave)(&prtd->lock); switch (opcode) { case APM_CLIENT_EVENT_CMD_EOS_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (prtd->notify_on_drain) { snd_compr_drain_notify(prtd->cstream); prtd->notify_on_drain =3D false; } else { prtd->state =3D Q6APM_STREAM_STOPPED; } - spin_unlock_irqrestore(&prtd->lock, flags); break; case APM_CLIENT_EVENT_DATA_WRITE_DONE: - spin_lock_irqsave(&prtd->lock, flags); bytes_written =3D token >> APM_WRITE_TOKEN_LEN_SHIFT; prtd->copied_total +=3D bytes_written; snd_compr_fragment_elapsed(substream); =20 - if (prtd->state !=3D Q6APM_STREAM_RUNNING) { - spin_unlock_irqrestore(&prtd->lock, flags); + if (prtd->state !=3D Q6APM_STREAM_RUNNING) break; - } =20 avail =3D prtd->bytes_received - prtd->bytes_sent; =20 @@ -202,7 +197,6 @@ static void event_handler_compr(uint32_t opcode, uint32= _t token, audioreach_shared_memory_send_eos(prtd->graph); } =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; default: break; @@ -583,14 +577,12 @@ static int q6apm_dai_compr_pointer(struct snd_soc_com= ponent *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; uint64_t temp_copied_total; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); tstamp->copied_total =3D prtd->copied_total; temp_copied_total =3D tstamp->copied_total; tstamp->byte_offset =3D do_div(temp_copied_total, prtd->pcm_size); - spin_unlock_irqrestore(&prtd->lock, flags); =20 return 0; } @@ -633,11 +625,9 @@ static int q6apm_dai_compr_ack(struct snd_soc_componen= t *component, struct snd_c { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); prtd->bytes_received +=3D count; - spin_unlock_irqrestore(&prtd->lock, flags); =20 return count; } @@ -762,7 +752,6 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, struct snd_compr_runtime *runtime =3D stream->runtime; struct q6apm_dai_rtd *prtd =3D runtime->private_data; void *dstn; - unsigned long flags; size_t copy; u32 wflags =3D 0; u32 app_pointer; @@ -797,7 +786,7 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, return -EFAULT; } =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); bytes_in_flight =3D prtd->bytes_received - prtd->copied_total; =20 if (prtd->next_track) { @@ -820,8 +809,6 @@ static int q6apm_compr_copy(struct snd_soc_component *c= omponent, prtd->bytes_sent +=3D bytes_to_write; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return count; } =20 --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 0EFDF30F7ED for ; Thu, 23 Oct 2025 10:26: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=1761215183; cv=none; b=cruVlfpxG4H7dP0kuqwWiyb2qxXW45dYGEDqJBhRMGzLT3JFzB0bQ+qNxVNpEsXGwIPHzVHB8JzF/xXGWA0UEcSosiqyJBAwi7pWkU0hF2KdpS4VC3sQbobqgs/JW2Y4aDYgqru8BwQliSgelOKIBCBgHjG8vmMB1RQhFSo/Mjs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215183; c=relaxed/simple; bh=KVruKtFGqlNB0x+gho9GBnMGXgQxhRdueAWKRhYaARc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AgC3jU26svuVYsULtOpf3TFbhCB9DNLQUjLyOLHovgirL2JtmaZ8shZeoxHPsBF8ID7NQ+LeYQHszSjHGp/u4ceP3Nzr/+x7N5kMAZ3QK37WakunA61H4CZR4+93OpZZ7aDrjQRhDEJWfzrwocfOZF5EPH9UGxbVwj3Fs5qjYY4= 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=TMEaPiGL; 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="TMEaPiGL" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 59N6aoEI006818 for ; Thu, 23 Oct 2025 10:26: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=igt0AhPQeVE ZDk+mX17La+46irE4J07UVD9f/TtHRVM=; b=TMEaPiGLqoM58qpKZqnF3e3Oufv HcKgS0Z7NlHmFuW2qcIiqdi/4MCo1BD9jFyQUrbj0MuYEW7xNf7DDROleSMhEunJ seWo+caTntZAtvE0zsg+zhmwrZgEQC3uC87f4INp90/dAROyX3gLBst0kOLGPw0d mzd3+cUP31CMrVZBVce4y6eHcR1R2RHU7nOyqdKyPVcHn3vgO9GaUuKNCZSIKScG HICdvydpK3PUU2AwjsXzsk98izjv3pcGE8wX2Rj9QOHAkW5A6kgWrLBTesA/2KhX PbVLUFxIMeeaTKCXhTs28lXOtOeR0fIBqXqlgwvOyXtfmkzVSxZaZo24WoQ== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v27j7y4u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:19 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e8aafb21d6so21525861cf.1 for ; Thu, 23 Oct 2025 03:26:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215179; x=1761819979; 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=igt0AhPQeVEZDk+mX17La+46irE4J07UVD9f/TtHRVM=; b=evoBNhT7skPEQMYaXgXj89OtHEwWAzysEPlg2Y4SHTCpZD+Fnlcj4Ly0WAMNLQQD6O plfm0mvuSeDt6RwgsiV+8pWanwnGHDbvewcMa5CyDSgL91N+KN0cfSoPnIdpPga+mXA/ k3YZ0Y7qO6DN+fZ+K6EbiMIjWHYsuvkkEdS0Sm7i+W0/RB2e0avgbldXYyVMgShQ2i4P MEGSJTu3ouDHvpgIIbopjzoduTQvTiHOf4WB2T7yH8Zfy8bo8nUUCpLo9ppYA+hfCSXy Zux0uT38WGdLRLXb8ofRZjBNBYpSBiUTddUfs46EKub8Jozf/vLyfR/01QBWwvB1muJi yARw== X-Forwarded-Encrypted: i=1; AJvYcCV8Q3zsnon2KIUunBqfFl6COIN6xv0L4a2ptkeepA1Ufek8iS1eDOPsY6c72u8Obo5dieGPjCNOgaqcyDY=@vger.kernel.org X-Gm-Message-State: AOJu0YxZPqKNZ8buHU2lVDUEfy6V++0gEpUBQjVgwa+nvNxAngxjlyk8 hXS5IUNE4jmUuzp/S2lFQ6yS3PIIA0I0ffWA05ZeyhWgsTpQlK3skxMSkM3/miqt+/57FJCeazj wAszPLEq5QcwbyrCIC6CGtD46L5i4krEwAKvlpKOsCZGbml2MtdN0Ik/52pPKDJYJmsE= X-Gm-Gg: ASbGncvzaQ8SE4YWp9xi0RjxSnCl4nRI87dieYDXUUwTqeqsXVXSYLXjbVYL3ST0764 gvvISWiF7/IZieviTjIC25sipImZGGiwP9Ng6C0eoRLHaFh4k8wSNXd/eWQSTNF+Vp0i9paw3un 536XQhnZ7FeATtZnf1Qmu/HHqBPdX9Sq7LJA+5zFai5IEt8bZVlcNSIYXaADcD+CkTsqhDLO2Ut MwP8V7VQM499KBzTF9BcNqJaH9KZ6N2PuBGSYXMJXIx9O6UBedvCZW9DK99wuiycYzsyqe9ltCR mf3RsAU5VM8HYTZwBB6PWUbkan490rJZET5OGuDCjicIsTsSYqL7meN2l6Whn/cPGbsA+QIRXft XXBg+EoBoorFD X-Received: by 2002:a05:622a:1a87:b0:4e7:222e:6725 with SMTP id d75a77b69052e-4e89d1ffbacmr265809981cf.8.1761215178922; Thu, 23 Oct 2025 03:26:18 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG+9HWC1ogOsnS1B0060yHcN3sg/K3kOHcnAa5/VLs+/IMUhU9gcRDPG6dpfW3Wo0sxZlXl6Q== X-Received: by 2002:a05:622a:1a87:b0:4e7:222e:6725 with SMTP id d75a77b69052e-4e89d1ffbacmr265809711cf.8.1761215178479; Thu, 23 Oct 2025 03:26:18 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:18 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 19/20] ASoC: qcom: q6asm-dai: Use guard() for spin locks Date: Thu, 23 Oct 2025 11:24:43 +0100 Message-ID: <20251023102444.88158-20-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: AW1haW4tMjUxMDE4MDAxOCBTYWx0ZWRfX4tGVy0j+GXEh XSbE5ee8lVzKPlQHgHu9R+jNcepw3hBWMc4zgyQgAfC3YfKHaLQsD8r8t7JI/0tHlyG5ILLCKzA yhefQ6YWGTplqCI+c5OaHe7rEoSQlorKbiR0gyQfQLh7fph93jL63Sl5Dr2pe4NDGm9NDOAOd6y uq2lvIM4dkV9g3b6ZabWRrq5f21Gh04N/CHMVj9VfAkVr18bGOTQyiFZR9B9/0vRMANhHK99JBP MgNpfJ7hvbuNlKp3YlhUjZNbzUeAwzcIxZ1+Nm6tgOHbO4VoMXJryKAZpmVndb9Myvv6CiEQOCY jflt7l7jZMlmkSCzFDioyDoaXIcKBJ7/zxN//60oGwnJp4SeKU2DrI90q9eb62OVdOMf+uQxkzH s58QxuLNezC/GCsW7FLDnVcwPmz56Q== X-Authority-Analysis: v=2.4 cv=G4UR0tk5 c=1 sm=1 tr=0 ts=68fa02cc cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=jAKm68vC9n-ZoyGP1lgA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-GUID: OMYhrw3fchEa8dcUEnX2PNjGTtcylhxA X-Proofpoint-ORIG-GUID: OMYhrw3fchEa8dcUEnX2PNjGTtcylhxA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 bulkscore=0 priorityscore=1501 spamscore=0 suspectscore=0 adultscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180018 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm-dai.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-= dai.c index 97256313c01a..709b4f3318ff 100644 --- a/sound/soc/qcom/qdsp6/q6asm-dai.c +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c @@ -514,15 +514,15 @@ static void compress_event_handler(uint32_t opcode, u= int32_t token, { struct q6asm_dai_rtd *prtd =3D priv; struct snd_compr_stream *substream =3D prtd->cstream; - unsigned long flags; u32 wflags =3D 0; uint64_t avail; uint32_t bytes_written, bytes_to_write; bool is_last_buffer =3D false; =20 + guard(spinlock_irqsave)(&prtd->lock); + switch (opcode) { case ASM_CLIENT_EVENT_CMD_RUN_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (!prtd->bytes_sent) { q6asm_stream_remove_initial_silence(prtd->audio_client, prtd->stream_id, @@ -533,11 +533,9 @@ static void compress_event_handler(uint32_t opcode, ui= nt32_t token, prtd->bytes_sent +=3D prtd->pcm_count; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 case ASM_CLIENT_EVENT_CMD_EOS_DONE: - spin_lock_irqsave(&prtd->lock, flags); if (prtd->notify_on_drain) { if (substream->partial_drain) { /* @@ -560,20 +558,16 @@ static void compress_event_handler(uint32_t opcode, u= int32_t token, } else { prtd->state =3D Q6ASM_STREAM_STOPPED; } - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 case ASM_CLIENT_EVENT_DATA_WRITE_DONE: - spin_lock_irqsave(&prtd->lock, flags); =20 bytes_written =3D token >> ASM_WRITE_TOKEN_LEN_SHIFT; prtd->copied_total +=3D bytes_written; snd_compr_fragment_elapsed(substream); =20 - if (prtd->state !=3D Q6ASM_STREAM_RUNNING) { - spin_unlock_irqrestore(&prtd->lock, flags); + if (prtd->state !=3D Q6ASM_STREAM_RUNNING) break; - } =20 avail =3D prtd->bytes_received - prtd->bytes_sent; if (avail > prtd->pcm_count) { @@ -602,7 +596,6 @@ static void compress_event_handler(uint32_t opcode, uin= t32_t token, q6asm_cmd_nowait(prtd->audio_client, prtd->stream_id, CMD_EOS); =20 - spin_unlock_irqrestore(&prtd->lock, flags); break; =20 default: @@ -1052,17 +1045,14 @@ static int q6asm_dai_compr_pointer(struct snd_soc_c= omponent *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6asm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; uint64_t temp_copied_total; =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); =20 tstamp->copied_total =3D prtd->copied_total; temp_copied_total =3D tstamp->copied_total; tstamp->byte_offset =3D do_div(temp_copied_total, prtd->pcm_size); =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return 0; } =20 @@ -1072,7 +1062,6 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, { struct snd_compr_runtime *runtime =3D stream->runtime; struct q6asm_dai_rtd *prtd =3D runtime->private_data; - unsigned long flags; u32 wflags =3D 0; uint64_t avail, bytes_in_flight =3D 0; void *dstn; @@ -1108,7 +1097,7 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, return -EFAULT; } =20 - spin_lock_irqsave(&prtd->lock, flags); + guard(spinlock_irqsave)(&prtd->lock); =20 bytes_in_flight =3D prtd->bytes_received - prtd->copied_total; =20 @@ -1134,8 +1123,6 @@ static int q6asm_compr_copy(struct snd_soc_component = *component, prtd->bytes_sent +=3D bytes_to_write; } =20 - spin_unlock_irqrestore(&prtd->lock, flags); - return count; } =20 --=20 2.51.0 From nobody Sun Feb 8 21:24:46 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 9344530F93C for ; Thu, 23 Oct 2025 10:26:22 +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=1761215184; cv=none; b=lJOPhWyQm105KbTSGR4r8mL+tHWdIw1Vey5UeyXwFZFWbr5FXli9xIKpx+zGjQYGG0JSblX1aik4Dwvp1Vf0HCLKf7w46oOU4Q8KAAYmSWsU4ud/mo3xgjBHPKII23gbDiA/QdlUf+MqSgl3pXZehkqeX3CV0QVS2G1x2TDSLQQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1761215184; c=relaxed/simple; bh=GHK0Bqp+aTp5qa54qoIO0zDF/pnvyDKyrzUXWBxCkX8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y6XoOY2shVXKhi1eRysvd/QgMcEl/8zKdSZSUTDXzO/REo1mQf4EMDI4Vh84+zgH04JBkw67G/yXw9lVT8EcSgig8sxB9vSThDJ8uoe5SNXoDJgCD+Sf5E4QGNjzBCEEjpg/IobqpxIgGvT00piRALLEhevtKToCzcWW0yQikSM= 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=BpDD0I/c; 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="BpDD0I/c" 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 59N6qk8v025812 for ; Thu, 23 Oct 2025 10:26:22 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=p73jpS1MlOw p0RMwgOu6rekzfzyJhQno1fUo+yocZrI=; b=BpDD0I/crsGM338CVtCzuLSppkw zHBj7MZmLlOhDwm5xuk29i0aw61khuSDX347KL2i7tgMv2Aq/lZjN4ZGuKnWfVMO ndnNoVjhu4MgojrsoahLFhBC/siPqL+q5QDGl+aTht+UtdQUfrmhJ9gIYyyHVSUa 7AHXMFsC/Sul5J+hGNuG9He6RI6iLXxtn3dLlGn3uk15Ml0fzx/ApzPRbL1D/j0f /xWFq7Mv6ZNhxPhlK9q0hrbM+FRur3N7bi1PFnfwzyLlmCBePn7sQw4kMuIEfp0u 6Q0syuQ02jF05/fm41VoQ2oMGl0ldPN62D6PJ6EuG65X93F4kOvQPRkOHkg== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 49v42kfu2k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Thu, 23 Oct 2025 10:26:21 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-4e89f4a502cso19063521cf.2 for ; Thu, 23 Oct 2025 03:26:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761215180; x=1761819980; 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=p73jpS1MlOwp0RMwgOu6rekzfzyJhQno1fUo+yocZrI=; b=c4Ss9xmOnWJCbcpN7iUXySAso70+8Sel9C0Ttjiv8RncB66AwW7stJSia9dj5UyY7X RgzyTx3E85l9KzdpNry+yigPp/JANLfwUE1ifBMgkLPyTq23a7Wdov1kxUvumAtJXwUC IP73nywtGK6SsSG6VLrrX5fYhhKjzpxsGIthv80wPR3/BbyOOvo+s/bLVr1QBQ42un06 49bmLUFGiPnH4AiB0eYoCvnAJZwSFTG9oCL5gZgaN8TXkZwUg29rhlKZei21S7uqywDV sxS4Oy0UOx/Ce+DmnCG2cRmEyAhziNKJq2qlNH2adEPCzqdPsY8U1gfF9IUeo99/ZcYM WO3g== X-Forwarded-Encrypted: i=1; AJvYcCXOY/nIiJZAe78AB2OSANeOvwZ1iXBIOnI2a2mYE4ktmVnoSS34LcNi/2Zxb6bg8amUtln2iJWv4myRWyY=@vger.kernel.org X-Gm-Message-State: AOJu0YwPFmILansGpBiEm/+sY/uXtDFTIO6go5py0WR4E1E6BzySyQDE Vm7rzt1mi92E6TJ/hXD+HSwWsglVDp8h38v0tflEmOwmxXo1btpPDcxJV1RAbD119Oqv/0FvSeN sjevpMEaNHGb2vCFpqvhpleNeL04ncGavK9gFcZkc1OsC46wVuVdLEfhjYeX+MyN2/aw= X-Gm-Gg: ASbGncugrSMYPb4l4VGehe8961K/4vyCkplqUcxroiRspcGJXhOrCaNkOik72Ox+RUe K8KVPP3eB/he8kPlVjF20ZLmfAb+Vr71QJtARxwv1RqvW78L+ROtTPBvwpkvTYD+4nTsDLkw3bq E6ycgjLlwSbtSn5qDHBPhe+yeE2tV7j0M3McODYD2NnGzjyd33D0ekm3emObvkRvX28SePVY29a T2LFo9xOv2omhCs7LN8HTJgyLg08T6lwurDaimdZDrquruc7ewjJbV1qxqkGmLplSNdh1RDTJ/H hzYquGxZuySEvjBbVJ0EFt3NYHqK9IuHw+9kwslx5O6vPA0cEOHoTKs+o/OnQuABr+PGPTnKp+6 agEW/i/z7xlHx X-Received: by 2002:ac8:5e12:0:b0:4e8:a8dd:9f1d with SMTP id d75a77b69052e-4e8a8dda67dmr231425191cf.59.1761215180537; Thu, 23 Oct 2025 03:26:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFla5PtPNq5rn1k275rdtDmgbOjAIyKKrz4PKBO1yGkb8lsA6j+rK15MhKTPeqe4vSpMLSntw== X-Received: by 2002:ac8:5e12:0:b0:4e8:a8dd:9f1d with SMTP id d75a77b69052e-4e8a8dda67dmr231425031cf.59.1761215179964; Thu, 23 Oct 2025 03:26:19 -0700 (PDT) Received: from debian ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-475c427f77bsm92220685e9.3.2025.10.23.03.26.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Oct 2025 03:26:19 -0700 (PDT) From: Srinivas Kandagatla To: broonie@kernel.org Cc: perex@perex.cz, tiwai@suse.com, srini@kernel.org, linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v2 20/20] ASoC: qcom: q6asm: Use guard() for spin locks Date: Thu, 23 Oct 2025 11:24:44 +0100 Message-ID: <20251023102444.88158-21-srinivas.kandagatla@oss.qualcomm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251023102444.88158-1-srinivas.kandagatla@oss.qualcomm.com> References: <20251023102444.88158-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: tZapDp3W_MFGNthWiR_eOgtKc5CG5PlM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMDE4MDAzMSBTYWx0ZWRfX/gnrQk/afDdn yXw5WZGJtwHomW/AmXnM/61K6HgLMMa11qRcIy2hIU51fYnBYN9J1bz2OqoL6/bJXlouFmYaymz PENgp73IAsu8OqO7/OhuEl5ofM4VhHzFMoISvn2lR+df2TzrxEvWTKJD3wADZH3rGUu3nynbzy7 xZv5BS48/4voUyVSXlHoUWPBa9hnidSODCIkQ827h9OWHnmd4YL4xZryU9aQ9GOdudhei51y2gj PtvM9BMQlkjzBwVi+DRZTCXXWApJ3gIauB4g9cfyiOr0LCRv7Qdg+bfB+2q/XQyvvfYTzuvZ/Bl UwC3qfOm5w1fKe5HO/uRuqr4OQ2ew3fqX5Q5EMsjf10Lx7VIlYKkx+spZsjP49yb0T8x/tlqxaD cZC/5tslgHPhExMutwipN5H6ehemcg== X-Authority-Analysis: v=2.4 cv=QYNrf8bv c=1 sm=1 tr=0 ts=68fa02cd cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZsC4DHZuhs/kKio7QBcDoQ==:17 a=x6icFKpwvdMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=C-aEvXguSqPNF6A64mIA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: tZapDp3W_MFGNthWiR_eOgtKc5CG5PlM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-10-22_08,2025-10-22_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 malwarescore=0 clxscore=1015 impostorscore=0 spamscore=0 bulkscore=0 suspectscore=0 adultscore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510020000 definitions=main-2510180031 Content-Type: text/plain; charset="utf-8" Clean up the code using guard() for spin locks. No functional changes, just cleanup. Signed-off-by: Srinivas Kandagatla --- sound/soc/qcom/qdsp6/q6asm.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c index 431a99776dcc..e7295b7b2461 100644 --- a/sound/soc/qcom/qdsp6/q6asm.c +++ b/sound/soc/qcom/qdsp6/q6asm.c @@ -571,9 +571,8 @@ static struct audio_client *q6asm_get_audio_client(stru= ct q6asm *a, int session_id) { struct audio_client *ac =3D NULL; - unsigned long flags; =20 - spin_lock_irqsave(&a->slock, flags); + guard(spinlock_irqsave)(&a->slock); if ((session_id <=3D 0) || (session_id > MAX_SESSIONS)) { dev_err(a->dev, "invalid session: %d\n", session_id); goto err; @@ -588,7 +587,6 @@ static struct audio_client *q6asm_get_audio_client(stru= ct q6asm *a, ac =3D a->session[session_id]; kref_get(&ac->refcount); err: - spin_unlock_irqrestore(&a->slock, flags); return ac; } =20 @@ -681,15 +679,13 @@ static int32_t q6asm_stream_callback(struct apr_devic= e *adev, client_event =3D ASM_CLIENT_EVENT_DATA_WRITE_DONE; if (ac->io_mode & ASM_SYNC_IO_MODE) { phys_addr_t phys; - unsigned long flags; int token =3D hdr->token & ASM_WRITE_TOKEN_MASK; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); =20 port =3D &ac->port[SNDRV_PCM_STREAM_PLAYBACK]; =20 if (!port->buf) { - spin_unlock_irqrestore(&ac->lock, flags); ret =3D 0; goto done; } @@ -700,11 +696,9 @@ static int32_t q6asm_stream_callback(struct apr_device= *adev, upper_32_bits(phys) !=3D result->status) { dev_err(ac->dev, "Expected addr %pa\n", &port->buf[token].phys); - spin_unlock_irqrestore(&ac->lock, flags); ret =3D -EINVAL; goto done; } - spin_unlock_irqrestore(&ac->lock, flags); atomic_set(&port->hw_ptr, token + 1); } break; @@ -712,13 +706,11 @@ static int32_t q6asm_stream_callback(struct apr_devic= e *adev, client_event =3D ASM_CLIENT_EVENT_DATA_READ_DONE; if (ac->io_mode & ASM_SYNC_IO_MODE) { struct asm_data_cmd_read_v2_done *done =3D data->payload; - unsigned long flags; phys_addr_t phys; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); port =3D &ac->port[SNDRV_PCM_STREAM_CAPTURE]; if (!port->buf) { - spin_unlock_irqrestore(&ac->lock, flags); ret =3D 0; goto done; } @@ -732,11 +724,9 @@ static int32_t q6asm_stream_callback(struct apr_device= *adev, &port->buf[hdr->token].phys, done->buf_addr_lsw, done->buf_addr_msw); - spin_unlock_irqrestore(&ac->lock, flags); ret =3D -EINVAL; goto done; } - spin_unlock_irqrestore(&ac->lock, flags); } =20 break; @@ -1561,14 +1551,12 @@ EXPORT_SYMBOL_GPL(q6asm_write_async); static void q6asm_reset_buf_state(struct audio_client *ac) { struct audio_port_data *port; - unsigned long flags; =20 - spin_lock_irqsave(&ac->lock, flags); + guard(spinlock_irqsave)(&ac->lock); port =3D &ac->port[SNDRV_PCM_STREAM_PLAYBACK]; port->dsp_buf =3D 0; port =3D &ac->port[SNDRV_PCM_STREAM_CAPTURE]; port->dsp_buf =3D 0; - spin_unlock_irqrestore(&ac->lock, flags); } =20 static int __q6asm_cmd(struct audio_client *ac, uint32_t stream_id, int cm= d, --=20 2.51.0