mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 04:12:04 -04:00
iommu/arm-smmu: Add support for active-only interconnect votes
The SMMU interconnect voting vote assumes all votes are required in both the active and sleep contexts. This means that votes for a particular interconnect path cast by the SMMU driver will be upheld even when the CPU subsystem has been suspended, which is not correct from a power consumption perspective. Thus, add support for the qcom,active-only property to denote that interconnect votes should be upheld only when the CPU subsystem is in the active context. Change-Id: I3168a9ff55809370e155771ab2b7918da06755e4 Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
This commit is contained in:
parent
b3d4641396
commit
d48a06aca6
1 changed files with 4 additions and 0 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue