From 959e21e6bef0bfcb15984ad60ed2919653862ecf Mon Sep 17 00:00:00 2001 From: "jianxin.pan" Date: Sat, 28 Apr 2018 15:24:04 +0800 Subject: [PATCH] sched: eas support PD#165090: EAS support on g12b Change-Id: Ic816ddef61e80f39944251f67ca8ebb2cb36f8ae Signed-off-by: jianxin.pan --- MAINTAINERS | 5 ++ arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi | 61 ++++++++++++++++++++++ arch/arm64/boot/dts/amlogic/mesong12b.dtsi | 8 ++- arch/arm64/configs/meson64_defconfig | 6 +++ scripts/amlogic/mk_dtb_gx.sh | 2 + 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi mode change 100644 => 100755 scripts/amlogic/mk_dtb_gx.sh diff --git a/MAINTAINERS b/MAINTAINERS index d79090a..2bad770 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14483,3 +14483,8 @@ AMLOGIC G12B M: Yan Wang F: arch/arm64/boot/dts/amlogic/mesong12b.dtsi F: arch/arm64/boot/dts/amlogic/g12b_pxp.dts + +AMLOGIC Energy model +M: Jianxin Pan +F: arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi + diff --git a/arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi b/arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi new file mode 100644 index 0000000..c6456bd --- /dev/null +++ b/arch/arm64/boot/dts/amlogic/g12b-sched-energy.dtsi @@ -0,0 +1,61 @@ + +/ { + energy-costs { + CPU_COST_A73: core-cost0 { + busy-cost-data = < + 390 404 + 615 861 + 782 1398 + 915 2200 + 1024 2848 + >; + idle-cost-data = < + 18 + 0 + 0 + >; + }; + CPU_COST_A53: core-cost1 { + busy-cost-data = < + 133 87 + 250 164 + 351 265 + 429 388 + 462 502 + >; + idle-cost-data = < + 5 + 0 + 0 + >; + }; + CLUSTER_COST_A73: cluster-cost0 { + busy-cost-data = < + 390 102 + 615 124 + 782 221 + 915 330 + 1024 433 + >; + idle-cost-data = < + 102 + 102 + 0 + >; + }; + CLUSTER_COST_A53: cluster-cost1 { + busy-cost-data = < + 133 12 + 250 22 + 351 36 + 429 67 + 462 144 + >; + idle-cost-data = < + 12 + 12 + 0 + >; + }; + }; +}; diff --git a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi index 6cd305d..c54da75 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12b.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12b.dtsi @@ -27,6 +27,7 @@ #include #include #include "mesong12a-dvalin.dtsi" +#include "g12b-sched-energy.dtsi" / { cpus:cpus { @@ -64,6 +65,7 @@ reg = <0x0 0x0>; enable-method = "psci"; //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>; }; CPU1:cpu@1 { @@ -71,7 +73,7 @@ compatible = "arm,cortex-a53","arm,armv8"; reg = <0x0 0x1>; enable-method = "psci"; - //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A53 &CLUSTER_COST_A53>; }; CPU2:cpu@100 { @@ -80,6 +82,7 @@ reg = <0x0 0x100>; enable-method = "psci"; //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; }; CPU3:cpu@101 { @@ -88,6 +91,7 @@ reg = <0x0 0x101>; enable-method = "psci"; //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; }; CPU4:cpu@102 { @@ -96,6 +100,7 @@ reg = <0x0 0x102>; enable-method = "psci"; //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; }; CPU5:cpu@103 { @@ -104,6 +109,7 @@ reg = <0x0 0x103>; enable-method = "psci"; //cpu-idle-states = <&CPU_SLEEP_0 &CLUSTER_SLEEP_0>; + sched-energy-costs = <&CPU_COST_A73 &CLUSTER_COST_A73>; }; idle-states { diff --git a/arch/arm64/configs/meson64_defconfig b/arch/arm64/configs/meson64_defconfig index 06e604b..ff537bf 100644 --- a/arch/arm64/configs/meson64_defconfig +++ b/arch/arm64/configs/meson64_defconfig @@ -3,6 +3,7 @@ CONFIG_POSIX_MQUEUE=y CONFIG_AUDIT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y +CONFIG_SCHED_WALT=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_TASKSTATS=y CONFIG_TASK_DELAY_ACCT=y @@ -14,10 +15,14 @@ CONFIG_LOG_BUF_SHIFT=19 CONFIG_CGROUPS=y CONFIG_CGROUP_DEBUG=y CONFIG_CGROUP_FREEZER=y +CONFIG_CPUSETS=y CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_SCHEDTUNE=y CONFIG_CGROUP_SCHED=y CONFIG_RT_GROUP_SCHED=y CONFIG_CGROUP_BPF=y +CONFIG_SCHED_TUNE=y +CONFIG_DEFAULT_USE_ENERGY_AWARE=y CONFIG_BLK_DEV_INITRD=y CONFIG_KALLSYMS_ALL=y CONFIG_BPF_SYSCALL=y @@ -55,6 +60,7 @@ CONFIG_ARM_CPUIDLE=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ_GOV_INTERACTIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_ARM_BIG_LITTLE_CPUFREQ=y CONFIG_ARM_SCPI_CPUFREQ=y CONFIG_AMLOGIC_MESON_CPUFREQ=y diff --git a/scripts/amlogic/mk_dtb_gx.sh b/scripts/amlogic/mk_dtb_gx.sh old mode 100644 new mode 100755 index 84cbfe9..a1e03f0 --- a/scripts/amlogic/mk_dtb_gx.sh +++ b/scripts/amlogic/mk_dtb_gx.sh @@ -4,6 +4,8 @@ export CROSS_COMPILE=/opt/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu/bin/ make ARCH=arm64 gxm_q200_2g.dtb || echo "Compile dtb Fail !!" +make ARCH=arm64 gxm_q201_2g.dtb || echo "Compile dtb Fail !!" + make ARCH=arm64 gxm_skt.dtb || echo "Compile dtb Fail !!" make ARCH=arm64 gxl_p212_2g.dtb || echo "Compile dtb Fail !!" -- 2.7.4