summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Lin <kylelin@google.com>2024-03-05 04:27:05 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-03-05 04:27:05 +0000
commit3b75b8527ed5b625cb4ee9171e463dec2d355bb4 (patch)
tree884920e88f7b66a897e2365d82e0c0be50039e9b
parentd66990422854622376a40d8302510079cc1ffecb (diff)
parent81be7b5cc873667ffa933c239d796db65177ffef (diff)
downloadgs-3b75b8527ed5b625cb4ee9171e463dec2d355bb4.tar.gz
drivers: performance: show tables am: 81be7b5cc8
Original change: https://partner-android-review.googlesource.com/c/kernel/private/google-modules/soc/gs/+/2756405 Change-Id: I093bfbb01bd61125e54810c328c4daf7c75a1b56 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--drivers/performance/lat_governors/gs_governor_dsulat.c4
-rw-r--r--drivers/performance/lat_governors/gs_governor_memlat.c3
-rw-r--r--drivers/performance/lat_governors/gs_governor_utils.h22
3 files changed, 28 insertions, 1 deletions
diff --git a/drivers/performance/lat_governors/gs_governor_dsulat.c b/drivers/performance/lat_governors/gs_governor_dsulat.c
index 7d1462bc2..5236808a6 100644
--- a/drivers/performance/lat_governors/gs_governor_dsulat.c
+++ b/drivers/performance/lat_governors/gs_governor_dsulat.c
@@ -54,12 +54,16 @@ make_cluster_attr(dsulat_node, stall_floor);
make_cluster_attr(dsulat_node, ratio_ceil);
make_cluster_attr(dsulat_node, cpuidle_state_depth_threshold);
+show_cluster_freq_map_attr(dsulat_node, latency_freq_table);
+show_cluster_freq_map_attr(dsulat_node, base_freq_table);
/* Exposed tuning parameters. */
static struct attribute *dsulat_dev_attr[] = {
&dev_attr_dsulat_node_stall_floor.attr,
&dev_attr_dsulat_node_ratio_ceil.attr,
&dev_attr_dsulat_node_cpuidle_state_depth_threshold.attr,
+ &dev_attr_dsulat_node_latency_freq_table.attr,
+ &dev_attr_dsulat_node_base_freq_table.attr,
NULL,
};
diff --git a/drivers/performance/lat_governors/gs_governor_memlat.c b/drivers/performance/lat_governors/gs_governor_memlat.c
index 0ecd88eb4..52588fb8f 100644
--- a/drivers/performance/lat_governors/gs_governor_memlat.c
+++ b/drivers/performance/lat_governors/gs_governor_memlat.c
@@ -53,11 +53,14 @@ make_cluster_attr(memlat_node, stall_floor);
make_cluster_attr(memlat_node, ratio_ceil);
make_cluster_attr(memlat_node, cpuidle_state_depth_threshold);
+show_cluster_freq_map_attr(memlat_node, latency_freq_table);
+
/* These sysfs emitters also depend on the macro expansions from above. */
static struct attribute *memlat_dev_attr[] = {
&dev_attr_memlat_node_stall_floor.attr,
&dev_attr_memlat_node_ratio_ceil.attr,
&dev_attr_memlat_node_cpuidle_state_depth_threshold.attr,
+ &dev_attr_memlat_node_latency_freq_table.attr,
NULL,
};
diff --git a/drivers/performance/lat_governors/gs_governor_utils.h b/drivers/performance/lat_governors/gs_governor_utils.h
index 34936ab33..0824849b7 100644
--- a/drivers/performance/lat_governors/gs_governor_utils.h
+++ b/drivers/performance/lat_governors/gs_governor_utils.h
@@ -137,4 +137,24 @@ int populate_cluster_config(struct device *dev, struct device_node *cluster_node
} \
static DEVICE_ATTR_RW(_node_name##_##_name);
-#endif /* _GS_GOVERNOR_UTILS_H */ \ No newline at end of file
+#define show_cluster_freq_map_attr(_node_name, _name) \
+ static ssize_t _node_name##_##_name##_show(struct device *dev, \
+ struct device_attribute *attr, char *buf) \
+ { \
+ int cluster_idx; \
+ unsigned int cnt = 0; \
+ struct gs_governor_core_dev_map *map = NULL; \
+ for (cluster_idx = 0; cluster_idx < _node_name.num_cpu_clusters; cluster_idx++) { \
+ map = _node_name.cpu_configs_arr[cluster_idx]._name; \
+ while (map->core_khz) { \
+ cnt += sysfs_emit_at(buf, cnt, "cl%d: %10u\t%9u\n", cluster_idx, \
+ map->core_khz, map->target_freq); \
+ map++; \
+ } \
+ } \
+ return cnt; \
+ } \
+ \
+ static DEVICE_ATTR_RO(_node_name##_##_name);
+
+#endif /* _GS_GOVERNOR_UTILS_H */