drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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
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
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
© 2016 - 2026 Red Hat, Inc.