tegra: hwpm: add ip_config debugfs flags

Change-Id: I4160b776947570df9ec81f4f34bdef6376b44be8
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-hwpm/+/3245391
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Vasuki Shankar <vasukis@nvidia.com>
Reviewed-by: Seema Khowala <seemaj@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Vasuki Shankar <vasukis@nvidia.com>
This commit is contained in:
Vedashree Vidwans
2024-11-08 00:32:46 -08:00
committed by mobile promotions
parent 2c2a933a9f
commit c4e5fde336
6 changed files with 318 additions and 235 deletions

View File

@@ -25,6 +25,7 @@
void tegra_hwpm_debugfs_init(struct tegra_hwpm_os_linux *hwpm_linux)
{
struct tegra_soc_hwpm *hwpm = &hwpm_linux->hwpm;
u32 ip_idx = 0U;
if (!hwpm_linux) {
tegra_hwpm_err(hwpm, "Invalid hwpm_linux struct");
@@ -35,7 +36,7 @@ void tegra_hwpm_debugfs_init(struct tegra_hwpm_os_linux *hwpm_linux)
debugfs_create_dir(TEGRA_SOC_HWPM_MODULE_NAME, NULL);
if (!hwpm_linux->debugfs_root) {
tegra_hwpm_err(hwpm, "Failed to create debugfs root directory");
goto fail;
goto fail_root;
}
/* Debug logs */
@@ -46,9 +47,24 @@ void tegra_hwpm_debugfs_init(struct tegra_hwpm_os_linux *hwpm_linux)
debugfs_create_bool("skip_allowlist", S_IRUGO|S_IWUSR,
hwpm_linux->debugfs_root, &hwpm->dbg_skip_alist);
return;
/* Debug IP configs */
hwpm_linux->debugfs_ip_config =
debugfs_create_dir("ip_config", hwpm_linux->debugfs_root);
if (!hwpm_linux->debugfs_ip_config) {
tegra_hwpm_err(hwpm,
"Failed to create debugfs ip_config directory");
goto fail_ip_config;
}
for (ip_idx = 0U; ip_idx < TERGA_HWPM_NUM_IPS; ip_idx++) {
debugfs_create_bool(tegra_hwpm_ip_string(ip_idx),
S_IRUGO|S_IWUSR, hwpm_linux->debugfs_ip_config,
&hwpm->ip_config[ip_idx]);
}
fail:
return;
fail_ip_config:
debugfs_remove_recursive(hwpm_linux->debugfs_ip_config);
fail_root:
debugfs_remove_recursive(hwpm_linux->debugfs_root);
hwpm_linux->debugfs_root = NULL;
}
@@ -62,6 +78,7 @@ void tegra_hwpm_debugfs_deinit(struct tegra_hwpm_os_linux *hwpm_linux)
return;
}
debugfs_remove_recursive(hwpm_linux->debugfs_ip_config);
debugfs_remove_recursive(hwpm_linux->debugfs_root);
hwpm_linux->debugfs_root = NULL;
}