From nobody Mon Jun 15 06:29:39 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 7EB1B377EB0 for ; Thu, 23 Apr 2026 10:02:42 +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=1776938563; cv=none; b=s1TfS5jc33r78wf9u+f+rVyt9ySC5PguAWAgu2Fqu/6aGxrxN9k9fohEnl8S4cfUgaLpP0yDpqIEbx067ctLj361RSgB3aoyWEYtizZDSpeQfEGB9xOR4z1eHeJ1/9yW3O/+ifNPInsY3f+VFTyAJjALUkotoqP9tdI1Loh1I1M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776938563; c=relaxed/simple; bh=hJODFl24L8xrJVFL+o40ttsrmgaKsOOKBfRA9fMFVBQ=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=ZyS7ttShC+7WJmyr1sdOcG4rHyLVsg+HCWVtPmx6FlNE8EZb5WFTHXuqjqhvZ3Zf8tJKOEblSZj+CQK+EXCWpObU4bupc2VWChnnWzToLC9jzn/ovx7xsRLWcpaqO8+yRKLuwldRy1yj66lXvAdAfgV6FrBfWH7YK7cMXmCiOpY= 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=CeovaRx0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JiowDglY; 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="CeovaRx0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JiowDglY" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63N8uMU61565714 for ; Thu, 23 Apr 2026 10:02:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=SBrLvxov8RzEUMj28YZTWG Q4HpP1x3kOvuEW3FT/Sd0=; b=CeovaRx0W4fRn0yj0D2XxEzfbE1KXzM/O4ffBb Hb+QxupCo1yNxcE86lPBaxlv8yaWj6M+xYt3Tc3HB3jUqftPbNLQi6UCG4/zJfTQ C32Z75wwVZOq2JE+1zfemivU4/+6WkgqeE2c3losG+WYkMa0hoENGfM/nI7Gel6j g3CiVD9zjvm8jnskQNK3nAhea3I/6Qf5aUZk4HMn8o10lFYdLut3mQ83MDw/nZtW NueTtlTpKd92qLEIaJSB94pqxvMGM6Eg1IvsIeNBCM9g+l+7UrHLKC+hlX74OABK yRKUL7CfRGSjOTtk2m9BZqA7Hk0JiGB5C66yX3/9iUxr0qJg== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dq16wueju-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Apr 2026 10:02:41 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2b7a77b8ec9so5044835ad.3 for ; Thu, 23 Apr 2026 03:02:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776938560; x=1777543360; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=SBrLvxov8RzEUMj28YZTWGQ4HpP1x3kOvuEW3FT/Sd0=; b=JiowDglY2o5HO6vZF4xbxRIkyvipzfGUJcrNiGPUOdhHOxFmtyCZIy6B+ArBFZ82tT RK3CXYNtkc/cOrJFynAnhirisFNfabIIeDiXaQUlgwaDxLqliyu+u9/lG0dV3FYVyk3b z6BzWu5pb7L2KAXhkPMOYhhYRYbZSccrTXugethag0A9RokcDEsrB2/ldo/6l5el4RYH xpppn7IP8EqJv8HW6YkNdw35r7BVF9tUPlEi6jNwnQqDJN+XSJwu5vASiU94Xr3VgA4x 0SBezU9Acgf3JHWZ1+T6O5BxdcYyhpvp/uJ3kn8SLS7eL2jIYBmTayJvqvKj1j/DWpNt jNzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776938560; x=1777543360; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SBrLvxov8RzEUMj28YZTWGQ4HpP1x3kOvuEW3FT/Sd0=; b=Cf48Lw8Fkm6Nm7WeD2d7Fea72VHKIWerpdgEFEnPwfiG2hM1uCgPp6xAHfyV58xQXW Wm7j3AhD1OGG8pDNCzMzQcKFqQ/8YbBfZqyW1e1pjNSxEczUMcLLxOnfllF4/cN/Qx75 r0oxAcqsZLTcs9ZUU9HKrBIPfQ5KwoEOxZumA9yrbC+u4XGoswxHyEJaDWXtB4pPwpko HY+SylASoJZ5pFIgcBGWoxfD5ZWSAQo5ZIaec97vQiSqZklf/JKN9mDOqWXspPSBpCnD zGowimSYAp22t7znI16s5NL02U5XnGDRp5bIUckpZp6rCVkw/0py4LRM8cuPQ4ljxTLv Oq0w== X-Forwarded-Encrypted: i=1; AFNElJ+aQR/Txt/USIUOhWC390zfGVOXhSKq6mOMcirbYdq5DdIKGO0OpHM79K0awWHTBA2L1pMs2NkT2yDOS4s=@vger.kernel.org X-Gm-Message-State: AOJu0Ywfuk+3yOTBcc/p3l0ctJNEiwMo5qEJ6buVNG/SOPLvYRjTdosb ij8xV6GBGo4qUttoIrXAu11kfKr+ITSsnTijWiQUIbLjD2iTQykE863GwfNdyqYpPA97aUG+xhz D0mSZqRvHiRoKVtF2P1Cl8lT0aaIzxAPRA6sRo7cwdC7114ddvLcuv3HNspIFgRMhcGU= X-Gm-Gg: AeBDievkBWJPYqGGACt8PUKtLWu8IlbiBNvy1dCDvFS++5MnQykc4/mJoLQYO1qBO74 eD3v/SlSmI57V2z9LvIICFDnxShUmjnTpGJLtWBKjae0/UAwkhtOcmYqnc7kvb4qd3HZABmVwCT Ng1+RUMz6H3iH0ZV8yg44GaX+1axE699uS2d6XCpnz/hIc2Gy/7tse/RK7NC+ZZA5dt4FcMLvOG xUhAfr8CfJbNNj1NRjQnu78q/WL49zlKDyalnN2/PWbCAnnsDUaZVqH63ulcsoVLhhrFnZJUpDC a3uH5c1YMFyMzND4QEDgAUcKrOCFKJMxjxX8hgAoWvml5mmh0tN0hxSBvdDzoRUj0rhQo5WwBgx gpx9U87MYAnOUlhy6FjViJ1GiCMTBq9f8O4wgtp6KYzYVAGvE/aCTlAmBf732xCY= X-Received: by 2002:a17:903:3204:b0:2b7:895f:407b with SMTP id d9443c01a7336-2b7895f4214mr101857815ad.21.1776938559968; Thu, 23 Apr 2026 03:02:39 -0700 (PDT) X-Received: by 2002:a17:903:3204:b0:2b7:895f:407b with SMTP id d9443c01a7336-2b7895f4214mr101857205ad.21.1776938559257; Thu, 23 Apr 2026 03:02:39 -0700 (PDT) Received: from hu-bibekkum-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5fab29398sm194785095ad.66.2026.04.23.03.02.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Apr 2026 03:02:38 -0700 (PDT) From: bibek.patro@oss.qualcomm.com To: Rob Clark , Will Deacon , Robin Murphy , Joerg Roedel Cc: Dmitry Baryshkov , iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, srinivas.kandagatla@oss.qualcomm.com, Bibek Kumar Patro , Dmitry Baryshkov , Shawn Guo Subject: [PATCH v2] iommu/arm-smmu-qcom: Fix fastrpc compatible string in ACTLR client match table Date: Thu, 23 Apr 2026 15:32:30 +0530 Message-Id: <20260423100230.3462214-1-bibek.patro@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIzMDA5OCBTYWx0ZWRfX6JbR3wtJ/9ti e2JCD/2WqPswz92b8Ee2rIO4/99LTR2KxuVgnkAFyTeElHjwMPlJJhFo3dR8Wu4CkSxxFhspP+m obOKnsyVXZZvn88mp9r9NZoO93KwunYvc6Fg/P//b2FMQ89Z8Cv1tgaS6kg+aFxNYRUVbf/GZ/H 44850NZBouFggcQcbIqTqtbsOz8aO9WF7IWAu7tMqhAdRsO7M6nL1Y5O6wbI/1VeaTh57LjE5kK OHQ6RH+I/MZ1z6d01CJ4JbKS9va3iezYat1UCr58GK9foMuL546Rk5TeE4XKjpK5ggbqj0RLdMt 5DlrnE3R5soGAJy0LmDPEsVZM44qnXFbIlZP7Jzjo3urHbDl2zVYiH15iu6Oed5rlSNF27Jc5b8 txQEKnNm0TqJSNqqiUUD6nsoJKZXgH1uFAQ9aqdB4pv8dqUEUSPYonL0HbV5ytstItU79+z70vv bvDWn4npM22N+l5S2dA== X-Authority-Analysis: v=2.4 cv=dL+WXuZb c=1 sm=1 tr=0 ts=69e9ee41 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=bCvnzbEyROO2_-PIDOgA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: DRcsM1sRvx3d2BVn_PKeALm11Q6Dp6kX X-Proofpoint-ORIG-GUID: DRcsM1sRvx3d2BVn_PKeALm11Q6Dp6kX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-23_02,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 spamscore=0 priorityscore=1501 malwarescore=0 adultscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604230098 From: Bibek Kumar Patro The qcom_smmu_actlr_client_of_match table contained "qcom,fastrpc" as the compatible string for applying ACTLR prefetch settings to FastRPC devices. However, "qcom,fastrpc" is the compatible string for the parent rpmsg channel node, which is not an IOMMU client =E2=80=94 it carries no "iommus" property in the device tree and is never attached to an SMMU context bank. The actual IOMMU clients are the compute context bank (CB) child nodes, which use the compatible string "qcom,fastrpc-compute-cb". These nodes carry the "iommus" property and are probed by fastrpc_cb_driver via fastrpc_cb_probe(), which sets up the DMA mask and IOMMU mappings for each FastRPC session. The device tree structure is: fastrpc { compatible =3D "qcom,fastrpc"; /* rpmsg channel, no iommus */ ... compute-cb@3 { compatible =3D "qcom,fastrpc-compute-cb"; iommus =3D <&apps_smmu 0x1823 0x0>; /* actual IOMMU client */ }; }; Since qcom_smmu_set_actlr_dev() calls of_match_device() against the device being attached to the SMMU context bank, the "qcom,fastrpc" entry was never matching any device. As a result, the ACTLR prefetch settings (PREFETCH_DEEP | CPRE | CMTLB) were silently never applied for FastRPC compute context banks. Fix this by replacing "qcom,fastrpc" with "qcom,fastrpc-compute-cb" in the match table so that the ACTLR settings are correctly applied to the compute CB devices that are the true IOMMU clients. Assisted-by: Claude:claude-sonnet-4-6 Fixes: 3e35c3e725de ("iommu/arm-smmu: Add ACTLR data and support for qcom_s= mmu_500") Reviewed-by: Dmitry Baryshkov Reviewed-by: Shawn Guo Signed-off-by: Bibek Kumar Patro --- While there is an ongoing discussion [1] on how to differentiate ACTLR prefetch settings between compute DSP and audio DSP fastrpc devices, it is necessary to first fix the compatible string to "qcom,fastrpc-compute-cb". Both compute DSP and audio DSP fastrpc nodes use this compatible string, so both will receive the ACTLR settings after this fix. However, for audio DSP devices the effect remains the same as the current state since they do not actively use prefetch =E2=80=94 the write is effect= ively a NOP for them. The fix is meaningful for compute DSP devices, which actively use prefetch and were previously being silently skipped. [1]: https://lore.kernel.org/all/9b4c895a-c822-40e6-bb92-8fdcd09c82d3@oss.qualco= mm.com/ v1->v2: - Collect "Reviewed-by" tags. - Address nit on "Assisted-by" tags format. - [v1]: https://lore.kernel.org/all/20260408130825.3268733-1-bibek.patro@oss.qu= alcomm.com/ drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm= /arm-smmu/arm-smmu-qcom.c index edd41b5a3b6a..2d006049dd61 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c @@ -39,7 +39,7 @@ static const struct of_device_id qcom_smmu_actlr_client_o= f_match[] =3D { .data =3D (const void *) (PREFETCH_DEEP | CPRE | CMTLB) }, { .compatible =3D "qcom,adreno-smmu", .data =3D (const void *) (PREFETCH_DEEP | CPRE | CMTLB) }, - { .compatible =3D "qcom,fastrpc", + { .compatible =3D "qcom,fastrpc-compute-cb", .data =3D (const void *) (PREFETCH_DEEP | CPRE | CMTLB) }, { .compatible =3D "qcom,qcm2290-mdss", .data =3D (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) }, -- 2.34.1