[PATCH] iommu/arm-smmu-qcom: Fix fastrpc compatible in ACTLR client match table

Shawn Guo posted 1 patch 2 months ago
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] iommu/arm-smmu-qcom: Fix fastrpc compatible in ACTLR client match table
Posted by Shawn Guo 2 months ago
The qcom_smmu_actlr_client_of_match table used "qcom,fastrpc" as the
compatible to configure ACTLR for fastrpc SMMU clients.  However, the
"qcom,fastrpc" compatible identifies the fastrpc transport (glink)
device, which does not have an iommus property and thus never attaches
to the SMMU directly.

The actual SMMU clients are the per-channel compute context bank (CB)
devices, which use the "qcom,fastrpc-compute-cb" compatible and each
carry their own iommus property.  Replace the compatible string so that
ACTLR prefetch and caching settings are applied to the right devices.

Fixes: 3e35c3e725de ("iommu/arm-smmu: Add ACTLR data and support for qcom_smmu_500")
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.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_of_match[] = {
 			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
 	{ .compatible = "qcom,adreno-smmu",
 			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
-	{ .compatible = "qcom,fastrpc",
+	{ .compatible = "qcom,fastrpc-compute-cb",
 			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
 	{ .compatible = "qcom,qcm2290-mdss",
 			.data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
-- 
2.43.0
Re: [PATCH] iommu/arm-smmu-qcom: Fix fastrpc compatible in ACTLR client match table
Posted by Dmitry Baryshkov 1 month, 4 weeks ago
On Thu, Apr 16, 2026 at 11:26:52PM +0800, Shawn Guo wrote:
> The qcom_smmu_actlr_client_of_match table used "qcom,fastrpc" as the
> compatible to configure ACTLR for fastrpc SMMU clients.  However, the
> "qcom,fastrpc" compatible identifies the fastrpc transport (glink)
> device, which does not have an iommus property and thus never attaches
> to the SMMU directly.
> 
> The actual SMMU clients are the per-channel compute context bank (CB)
> devices, which use the "qcom,fastrpc-compute-cb" compatible and each
> carry their own iommus property.  Replace the compatible string so that
> ACTLR prefetch and caching settings are applied to the right devices.
> 
> Fixes: 3e35c3e725de ("iommu/arm-smmu: Add ACTLR data and support for qcom_smmu_500")
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>

https://lore.kernel.org/r/20260408130825.3268733-1-bibek.patro@oss.qualcomm.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_of_match[] = {
>  			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
>  	{ .compatible = "qcom,adreno-smmu",
>  			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
> -	{ .compatible = "qcom,fastrpc",
> +	{ .compatible = "qcom,fastrpc-compute-cb",
>  			.data = (const void *) (PREFETCH_DEEP | CPRE | CMTLB) },
>  	{ .compatible = "qcom,qcm2290-mdss",
>  			.data = (const void *) (PREFETCH_SHALLOW | CPRE | CMTLB) },
> -- 
> 2.43.0
> 

-- 
With best wishes
Dmitry
Re: [PATCH] iommu/arm-smmu-qcom: Fix fastrpc compatible in ACTLR client match table
Posted by Shawn Guo 1 month, 4 weeks ago
On Fri, Apr 17, 2026 at 04:19:14PM +0300, Dmitry Baryshkov wrote:
> On Thu, Apr 16, 2026 at 11:26:52PM +0800, Shawn Guo wrote:
> > The qcom_smmu_actlr_client_of_match table used "qcom,fastrpc" as the
> > compatible to configure ACTLR for fastrpc SMMU clients.  However, the
> > "qcom,fastrpc" compatible identifies the fastrpc transport (glink)
> > device, which does not have an iommus property and thus never attaches
> > to the SMMU directly.
> > 
> > The actual SMMU clients are the per-channel compute context bank (CB)
> > devices, which use the "qcom,fastrpc-compute-cb" compatible and each
> > carry their own iommus property.  Replace the compatible string so that
> > ACTLR prefetch and caching settings are applied to the right devices.
> > 
> > Fixes: 3e35c3e725de ("iommu/arm-smmu: Add ACTLR data and support for qcom_smmu_500")
> > Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> 
> https://lore.kernel.org/r/20260408130825.3268733-1-bibek.patro@oss.qualcomm.com

Ah, thanks Dmitry!  I should have searched the list first.

Shawn