From b8a884d226d5cca0d2ca81b309aed7e23f74c606 Mon Sep 17 00:00:00 2001 From: Vedashree Vidwans Date: Thu, 22 Aug 2024 22:20:27 -0700 Subject: [PATCH] tegra: hwpm: add cpu ip and resource enums Add IP and resource enums for CPU IP that support HWPM. Bug 4730025 Bug 4748888 Change-Id: Ica0d247953500fc6d7eb21144a318f2dbcca2d96 Signed-off-by: Vedashree Vidwans Reviewed-on: https://git-master.nvidia.com/r/c/linux-hwpm/+/3198954 Reviewed-by: Vasuki Shankar Reviewed-by: Seema Khowala --- drivers/tegra/hwpm/include/tegra_hwpm.h | 2 ++ drivers/tegra/hwpm/os/linux/ip_utils.c | 6 ++++++ include/uapi/linux/tegra-soc-hwpm-uapi.h | 2 ++ 3 files changed, 10 insertions(+) diff --git a/drivers/tegra/hwpm/include/tegra_hwpm.h b/drivers/tegra/hwpm/include/tegra_hwpm.h index 67eaa86..9aee42f 100644 --- a/drivers/tegra/hwpm/include/tegra_hwpm.h +++ b/drivers/tegra/hwpm/include/tegra_hwpm.h @@ -103,6 +103,7 @@ enum tegra_hwpm_ip_enum { TEGRA_HWPM_IP_UCF_CSW, TEGRA_HWPM_IP_UCF_HUB, TEGRA_HWPM_IP_UCF_SCB, + TEGRA_HWPM_IP_CPU, TERGA_HWPM_NUM_IPS }; @@ -151,6 +152,7 @@ enum tegra_hwpm_resource_enum { TEGRA_HWPM_RESOURCE_UCF_CSW, TEGRA_HWPM_RESOURCE_UCF_HUB, TEGRA_HWPM_RESOURCE_UCF_SCB, + TEGRA_HWPM_RESOURCE_CPU, TERGA_HWPM_NUM_RESOURCES }; diff --git a/drivers/tegra/hwpm/os/linux/ip_utils.c b/drivers/tegra/hwpm/os/linux/ip_utils.c index de2e39e..2b81eef 100644 --- a/drivers/tegra/hwpm/os/linux/ip_utils.c +++ b/drivers/tegra/hwpm/os/linux/ip_utils.c @@ -144,6 +144,9 @@ static u32 tegra_hwpm_translate_soc_hwpm_ip(struct tegra_soc_hwpm *hwpm, case TEGRA_SOC_HWPM_IP_UCF_SCB: ip_enum_idx = TEGRA_HWPM_IP_UCF_SCB; break; + case TEGRA_SOC_HWPM_IP_CPU: + ip_enum_idx = TEGRA_HWPM_IP_CPU; + break; default: tegra_hwpm_err(hwpm, "Queried enum tegra_soc_hwpm_ip %d is invalid", @@ -306,6 +309,9 @@ u32 tegra_hwpm_translate_soc_hwpm_resource(struct tegra_soc_hwpm *hwpm, case TEGRA_SOC_HWPM_RESOURCE_UCF_SCB: res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_SCB; break; + case TEGRA_SOC_HWPM_RESOURCE_CPU: + res_enum_idx = TEGRA_HWPM_RESOURCE_CPU; + break; default: tegra_hwpm_err(hwpm, "Queried enum tegra_soc_hwpm_resource %d is invalid", diff --git a/include/uapi/linux/tegra-soc-hwpm-uapi.h b/include/uapi/linux/tegra-soc-hwpm-uapi.h index f18938b..27f0770 100644 --- a/include/uapi/linux/tegra-soc-hwpm-uapi.h +++ b/include/uapi/linux/tegra-soc-hwpm-uapi.h @@ -61,6 +61,7 @@ enum tegra_soc_hwpm_ip { TEGRA_SOC_HWPM_IP_UCF_CSW, TEGRA_SOC_HWPM_IP_UCF_HUB, TEGRA_SOC_HWPM_IP_UCF_SCB, + TEGRA_SOC_HWPM_IP_CPU, TERGA_SOC_HWPM_NUM_IPS }; @@ -147,6 +148,7 @@ enum tegra_soc_hwpm_resource { TEGRA_SOC_HWPM_RESOURCE_UCF_CSW, TEGRA_SOC_HWPM_RESOURCE_UCF_HUB, TEGRA_SOC_HWPM_RESOURCE_UCF_SCB, + TEGRA_SOC_HWPM_RESOURCE_CPU, TERGA_SOC_HWPM_NUM_RESOURCES };