iommu/arm-smmu-v3: Pass in cmdq pointer to arm_smmu_cmdq_init
authorNicolin Chen <nicolinc@nvidia.com>
Thu, 29 Aug 2024 22:34:32 +0000 (15:34 -0700)
committerWill Deacon <will@kernel.org>
Fri, 30 Aug 2024 14:18:41 +0000 (15:18 +0100)
So that this function can be used by other cmdqs than &smmu->cmdq only.

Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/e11a3c0bde172c9652c2946f12bc2ceed4c3a355.1724970714.git.nicolinc@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c

index 4a28cd2dc47a84eff6f044e8e1b31f4f6a5dc20e..22578d1aa2680b6cb921908042b679f937ff42be 100644 (file)
@@ -3564,9 +3564,9 @@ static int arm_smmu_init_one_queue(struct arm_smmu_device *smmu,
        return 0;
 }
 
-static int arm_smmu_cmdq_init(struct arm_smmu_device *smmu)
+static int arm_smmu_cmdq_init(struct arm_smmu_device *smmu,
+                             struct arm_smmu_cmdq *cmdq)
 {
-       struct arm_smmu_cmdq *cmdq = &smmu->cmdq;
        unsigned int nents = 1 << cmdq->q.llq.max_n_shift;
 
        atomic_set(&cmdq->owner_prod, 0);
@@ -3591,7 +3591,7 @@ static int arm_smmu_init_queues(struct arm_smmu_device *smmu)
        if (ret)
                return ret;
 
-       ret = arm_smmu_cmdq_init(smmu);
+       ret = arm_smmu_cmdq_init(smmu, &smmu->cmdq);
        if (ret)
                return ret;