Files
Centos-kernel-stream-10/drivers/iommu/arm
Jerry Snitselaar 882a1faa47 iommu/arm-smmu-qcom: Fix fastrpc compatible string in ACTLR client match table
JIRA: https://issues.redhat.com/browse/RHEL-213791
Upstream-Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

commit a6e1618a65d453d4e739e5898c662ccb1e3de6c0
Author: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Date: Thu Apr 23 15:32:30 2026 +0530

    iommu/arm-smmu-qcom: Fix fastrpc compatible string in ACTLR client match table

    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 — 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 = "qcom,fastrpc";        /* rpmsg channel, no iommus */
	  ...
	  compute-cb@3 {
	      compatible = "qcom,fastrpc-compute-cb";
	      iommus = <&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_smmu_500")
    Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
    Reviewed-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
    Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
    Signed-off-by: Will Deacon <will@kernel.org>

(cherry picked from commit a6e1618a65d453d4e739e5898c662ccb1e3de6c0)
Signed-off-by: Jerry Snitselaar <jsnitsel@redhat.com>
2026-07-22 12:31:46 -07:00
..