OSDN Git Service

iommu: arm-smmu: Move to using bus bandwidth voting for bus clocks
authorPratik Patel <pratikp@codeaurora.org>
Mon, 16 Jan 2017 20:44:48 +0000 (12:44 -0800)
committerPatrick Daly <pdaly@codeaurora.org>
Sat, 21 Jan 2017 00:05:03 +0000 (16:05 -0800)
commit10f058a6e20e3aa0146be8ba39432c68abb398e2
tree130411cf584818eff309c9bf9dd38913227b6f0d
parent2829116b1eed58fd5372cab5fe1b1ad9d7228ac7
iommu: arm-smmu: Move to using bus bandwidth voting for bus clocks

Bus clocks are managed via bus apis and hence move to using them for
enabling bus clocks. The previous method could enable a bus clock at a
higher than required frequency, wasting power.

The power on sequence is regulator on, bus vote, and then enable
remaining clocks.

Remove all clocks which are of RPM_SMD type (including mmssnoc_axi_clk)
since these are managed by the bus driver. Using an active-only bus vote
instead should save power when APPS is power collapsed.

Keep the mmss_mnoc_ahb_clk because it is a branch clock type which is
not managed by the bus driver. No active-only mode is available for this
clock.

Change-Id: I3b35d81098b8bd5299b27e85d27aa959e7cf415a
Signed-off-by: Pratik Patel <pratikp@codeaurora.org>
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Documentation/devicetree/bindings/iommu/arm,smmu.txt
arch/arm/boot/dts/qcom/msm-arm-smmu-8998.dtsi
drivers/iommu/arm-smmu.c