diff options
author | Kyle Lin <kylelin@google.com> | 2024-03-05 04:27:05 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-03-05 04:27:05 +0000 |
commit | 3b75b8527ed5b625cb4ee9171e463dec2d355bb4 (patch) | |
tree | 884920e88f7b66a897e2365d82e0c0be50039e9b | |
parent | d66990422854622376a40d8302510079cc1ffecb (diff) | |
parent | 81be7b5cc873667ffa933c239d796db65177ffef (diff) | |
download | gs-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.c | 4 | ||||
-rw-r--r-- | drivers/performance/lat_governors/gs_governor_memlat.c | 3 | ||||
-rw-r--r-- | drivers/performance/lat_governors/gs_governor_utils.h | 22 |
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 */ |