diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 0589f3022544..84132b4f05fe 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -79,6 +79,7 @@ #define ARM_SMMU_ICC_AVG_BW 0 #define ARM_SMMU_ICC_PEAK_BW_HIGH 1000 #define ARM_SMMU_ICC_PEAK_BW_LOW 0 +#define ARM_SMMU_ICC_ACTIVE_ONLY_TAG 0x3 static int force_stage; module_param(force_stage, int, S_IRUGO); @@ -4253,6 +4254,9 @@ static int arm_smmu_init_interconnect(struct arm_smmu_power_resources *pwr) return pwr->icc_path ? PTR_ERR(pwr->icc_path) : -EINVAL; } + if (of_property_read_bool(dev->of_node, "qcom,active-only")) + icc_set_tag(pwr->icc_path, ARM_SMMU_ICC_ACTIVE_ONLY_TAG); + return 0; }