Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62254073 authored by Alok Chauhan's avatar Alok Chauhan
Browse files

ARM: dts: msm: Add static rules to throttle CPU and GPU for msm8939



Apps CPU & GPU may have significant bandwidth consumption spikes
for short duration of time. Though their average bandwidth
consumption is accounted for, while deciding on DDR and
bus frequencies, then CPU & GPU traffic need to be shaped to
reduce peaks.

Rules to limit CPU & GPU traffic peaks at BIMC.

Change-Id: I76d284c7f77ed3598725ea98726212b36ca66605
Signed-off-by: default avatarAlok Chauhan <alokc@codeaurora.org>
Signed-off-by: default avatarSana Venkat Raju <c_vsana@codeaurora.org>
Signed-off-by: default avatarAlok Chauhan <alokc@codeaurora.org>
parent 19c9d762
Loading
Loading
Loading
Loading
+69 −0
Original line number Diff line number Diff line
@@ -11,8 +11,71 @@
 */

#include <dt-bindings/msm/msm-bus-ids.h>
#include <dt-bindings/msm/msm-bus-rule-ops.h>

&soc {
	static-rules {
		compatible = "qcom,msm-bus-static-bw-rules";

		rule0 {
			qcom,src-nodes = <&mas_apss>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_LE>;
			qcom,thresh = <2668800>;
			qcom,mode = <THROTTLE_ON>;
			qcom,dest-node = <&mas_apss>;
			qcom,dest-bw = <600000>;
		};

		rule1 {
			qcom,src-nodes = <&mas_apss>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_LE>;
			qcom,thresh = <5337600>;
			qcom,mode = <THROTTLE_ON>;
			qcom,dest-node = <&mas_apss>;
			qcom,dest-bw = <1200000>;
		};

		rule2 {
			qcom,src-nodes = <&mas_apss>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_GT>;
			qcom,thresh = <5337600>;
			qcom,mode = <THROTTLE_OFF>;
			qcom,dest-node = <&mas_apss>;
		};

		rule3 {
			qcom,src-nodes = <&mas_gfx>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_LE>;
			qcom,thresh = <2668800>;
			qcom,mode = <THROTTLE_ON>;
			qcom,dest-node = <&mas_gfx>;
			qcom,dest-bw = <600000>;
		};

		rule4 {
			qcom,src-nodes = <&mas_gfx>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_LE>;
			qcom,thresh = <5337600>;
			qcom,mode = <THROTTLE_ON>;
			qcom,dest-node = <&mas_gfx>;
			qcom,dest-bw = <1200000>;
		};

		rule5 {
			qcom,src-nodes = <&mas_gfx>;
			qcom,src-field = <FLD_IB>;
			qcom,src-op = <OP_GT>;
			qcom,thresh = <5337600>;
			qcom,mode = <THROTTLE_OFF>;
			qcom,dest-node = <&mas_gfx>;
		};
	};

	ad_hoc_bus: ad-hoc-bus@580000 {
		compatible = "qcom,msm-bus-device";
		reg = <0x580000 0x14080>,
@@ -377,6 +440,9 @@
			qcom,prio-lvl = <0>;
			qcom,prio-rd = <0>;
			qcom,prio-wr = <0>;
			qcom,ws = <10000>;
			qcom,gp = <5000>;
			qcom,thmp = <50>;
			qcom,buswidth = <16>;
		};

@@ -406,6 +472,9 @@
			qcom,prio-rd = <0>;
			qcom,prio-wr = <0>;
			qcom,buswidth = <16>;
			qcom,ws = <10000>;
			qcom,gp = <5000>;
			qcom,thmp = <50>;
		};

		bimc_snoc_mas: bimc-snoc-mas {