Atlas: Sync dptf settings with master
This is squash of the following CLs
CL:1633912 Atlas: Override dptf profile based on internal component
CL:1681986 Atlas: Update dptf tuning from new revision
CL:1796573 Atlas: Update dptf config for Advance dptf
CL:1810626 Atlas: Update dptf setting
CL:1819987 Atlas: Update dptf setting
BUG=b:141875560
TEST=trybot
Change-Id: I2c2d21527481395af448d77c2af969323ab5f6ff
Signed-off-by: Puthikorn Voravootivat <puthik@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/board-overlays/+/1835201
Reviewed-by: Wei-Han Chen <stimim@chromium.org>
Reviewed-by: Bob Moragues <moragues@chromium.org>
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1-r19.ebuild b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1-r20.ebuild
similarity index 100%
rename from overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1-r19.ebuild
rename to overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1-r20.ebuild
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1.ebuild b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1.ebuild
index f488031..5161693 100644
--- a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1.ebuild
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/chromeos-bsp-atlas-0.0.1.ebuild
@@ -53,4 +53,8 @@
# Install device-specific automatic brightness model parameters.
insinto "/usr/share/chromeos-assets/autobrightness"
doins "${FILESDIR}/autobrightness/model_params.json"
+
+ # Install device-specific custom dptf profile.
+ insinto "/etc/dptf"
+ doins "${FILESDIR}"/dptf/*
}
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/0987_8765.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/0987_8765.bin
new file mode 100644
index 0000000..1ed669a
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/0987_8765.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_0987.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_0987.bin
new file mode 100644
index 0000000..81b301d
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_0987.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_9876.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_9876.bin
new file mode 100644
index 0000000..8c64f64
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1098_9876.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_0886.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_0886.bin
new file mode 100644
index 0000000..c1739a9
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_0886.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_1098.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_1098.bin
new file mode 100644
index 0000000..151bb47
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/1199_1098.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/2200_0987.bin b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/2200_0987.bin
new file mode 100644
index 0000000..6e930c5
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/2200_0987.bin
Binary files differ
diff --git a/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/dptf_override.sh b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/dptf_override.sh
new file mode 100644
index 0000000..7633303
--- /dev/null
+++ b/overlay-atlas/chromeos-base/chromeos-bsp-atlas/files/dptf/dptf_override.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Select dptf configuration based on the following criteria.
+# - CPU model name
+# - DRAM part number prefix
+# - DRAM capacity
+#
+# Documentation: http://go/atlas-dptf-override
+#
+
+dptf_get_override() {
+ local dram_part=
+ local cpu_model=
+ local memtotal_kib=
+ local memtotal_gib=
+ local dptf_file=
+
+ cpu_model="$(uname -p | grep -o "[im][357]")"
+ dram_part="$(mosys memory spd print id -s part_number | grep -om1 ^..)"
+ memtotal_kib="$(grep '^MemTotal:' /proc/meminfo | grep -oE '[0-9]+')"
+ # Atlas should have even GiB of RAM. Round up to nearest even number.
+ memtotal_gib="$(( (((memtotal_kib >> 20) + 1) / 2) * 2 ))"
+
+ cpu_dram="$(echo "${cpu_model}-${dram_part}-${memtotal_gib}")"
+
+ case "${cpu_dram}" in
+ m3-K4-8) dptf_file="0987_8765.bin" ;;
+ m3-MT-8) dptf_file="1098_0987.bin" ;;
+ i5-K4-8) dptf_file="1098_9876.bin" ;;
+ i5-MT-8) dptf_file="1098_0987.bin" ;;
+ i5-K4-16) dptf_file="1098_0987.bin" ;;
+ i5-MT-16) dptf_file="1199_0886.bin" ;;
+ i7-K4-16) dptf_file="2200_0987.bin" ;;
+ i7-MT-16) dptf_file="1199_1098.bin" ;;
+ esac
+
+ echo "${dptf_file}"
+}