summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWill Song <jinpengsong@google.com>2024-01-15 22:06:46 -0800
committerWill Song <jinpengsong@google.com>2024-03-04 19:09:06 +0000
commitcd588d3e3922ac4febd06031ec821075ee93f60c (patch)
treed36958a471b840fbe408ba5718537a92d54b8dae
parent5e2cff35ba9959117fa0ba281ba8592abdfc184c (diff)
downloadgs-cd588d3e3922ac4febd06031ec821075ee93f60c.tar.gz
drivers: performance: Add GS Lat-Governor Configs
Added Kconfig and Kbuild entries for the tick driven memory latency governors. Also added binaries to boot modules. Bug: 325274590 Bug: 262894231 Test: Build Change-Id: I8e23d437753bd2d91f899886e9ec8b71ec2f8896 Signed-off-by: Will Song <jinpengsong@google.com>
-rw-r--r--Kbuild2
-rw-r--r--Kconfig.ext2
-rw-r--r--drivers/performance/lat_governors/Kbuild8
-rw-r--r--drivers/performance/lat_governors/Kconfig17
-rw-r--r--vendor_kernel_boot_modules.zuma5
5 files changed, 34 insertions, 0 deletions
diff --git a/Kbuild b/Kbuild
index ee88e0da8..c0daee1a8 100644
--- a/Kbuild
+++ b/Kbuild
@@ -62,6 +62,8 @@ obj-y += drivers/devfreq/google/
obj-y += drivers/performance/gs_perf_mon/
+obj-y += drivers/performance/lat_governors/
+
obj-y += drivers/iio/
obj-y += drivers/staging/android/
diff --git a/Kconfig.ext b/Kconfig.ext
index 24dcac410..7defdbc57 100644
--- a/Kconfig.ext
+++ b/Kconfig.ext
@@ -56,6 +56,8 @@ source "$(KCONFIG_EXT_PREFIX)drivers/devfreq/google/Kconfig"
source "$(KCONFIG_EXT_PREFIX)drivers/performance/gs_perf_mon/Kconfig"
+source "$(KCONFIG_EXT_PREFIX)drivers/performance/lat_governors/Kconfig"
+
source "$(KCONFIG_EXT_PREFIX)drivers/iio/Kconfig"
source "$(KCONFIG_EXT_PREFIX)drivers/phy/Kconfig"
diff --git a/drivers/performance/lat_governors/Kbuild b/drivers/performance/lat_governors/Kbuild
new file mode 100644
index 000000000..61f2d5729
--- /dev/null
+++ b/drivers/performance/lat_governors/Kbuild
@@ -0,0 +1,8 @@
+# Google memory latency drivers
+
+ccflags-y := -DDYNAMIC_DEBUG_MODULE
+ccflags-y += -I$(srctree)/drivers/performance
+ccflags-y += -I$(srctree)/drivers/devfreq
+
+obj-$(CONFIG_GS_LATENCY_GOVERNOR) += gs_governor_memlat.o gs_governor_dsulat.o gs_governor_utils.o
+obj-$(CONFIG_GS_LATENCY_DEVFREQ) += gs_memlat_devfreq.o gs_dsulat_devfreq.o
diff --git a/drivers/performance/lat_governors/Kconfig b/drivers/performance/lat_governors/Kconfig
new file mode 100644
index 000000000..fb929d8fe
--- /dev/null
+++ b/drivers/performance/lat_governors/Kconfig
@@ -0,0 +1,17 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+config GS_LATENCY_GOVERNOR
+ tristate "Google Memory Latency Governors"
+ depends on GS_PERF_MON
+ default n
+ help
+ A set of latency governors providing votes for the memory subsystem.
+ The governors only compute target frequencies for the DSU, BCI, and DDR
+ then supplies them to the devfreq for processing.
+
+config GS_LATENCY_DEVFREQ
+ tristate "Google Memory Latency Drivers"
+ depends on GS_PERF_MON
+ default n
+ help
+ This adds the DEVFREQ drivers for the Google Latency Governors. \ No newline at end of file
diff --git a/vendor_kernel_boot_modules.zuma b/vendor_kernel_boot_modules.zuma
index 1451dfa26..a9ff8b1d0 100644
--- a/vendor_kernel_boot_modules.zuma
+++ b/vendor_kernel_boot_modules.zuma
@@ -77,6 +77,11 @@ governor_memlat.ko
gpu_cooling.ko
gs-chipid.ko
gs_acpm.ko
+gs_dsulat_devfreq.ko
+gs_governor_dsulat.ko
+gs_governor_memlat.ko
+gs_governor_utils.ko
+gs_memlat_devfreq.ko
gs_perf_mon.ko
pixel_metrics.ko
gs_thermal.ko