[PATCH V2 06/17] drm/amd/pm: do not expose the API used internally only in kv_dpm.c
Lazar, Lijo
lijo.lazar at amd.com
Tue Nov 30 12:27:44 UTC 2021
On 11/30/2021 1:12 PM, Evan Quan wrote:
> Move it to kv_dpm.c instead.
>
> Signed-off-by: Evan Quan <evan.quan at amd.com>
> Change-Id: I554332b386491a79b7913f72786f1e2cb1f8165b
> --
> v1->v2:
> - rename the API with "kv_" prefix(Alex)
> ---
> drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 23 ---------------------
> drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h | 2 --
> drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c | 25 ++++++++++++++++++++++-
> 3 files changed, 24 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
> index fbfc07a83122..ecaf0081bc31 100644
> --- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
> +++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c
> @@ -209,29 +209,6 @@ static u32 amdgpu_dpm_get_vrefresh(struct amdgpu_device *adev)
> return vrefresh;
> }
>
> -bool amdgpu_is_internal_thermal_sensor(enum amdgpu_int_thermal_type sensor)
> -{
> - switch (sensor) {
> - case THERMAL_TYPE_RV6XX:
> - case THERMAL_TYPE_RV770:
> - case THERMAL_TYPE_EVERGREEN:
> - case THERMAL_TYPE_SUMO:
> - case THERMAL_TYPE_NI:
> - case THERMAL_TYPE_SI:
> - case THERMAL_TYPE_CI:
> - case THERMAL_TYPE_KV:
> - return true;
> - case THERMAL_TYPE_ADT7473_WITH_INTERNAL:
> - case THERMAL_TYPE_EMC2103_WITH_INTERNAL:
> - return false; /* need special handling */
> - case THERMAL_TYPE_NONE:
> - case THERMAL_TYPE_EXTERNAL:
> - case THERMAL_TYPE_EXTERNAL_GPIO:
> - default:
> - return false;
> - }
> -}
> -
> union power_info {
> struct _ATOM_POWERPLAY_INFO info;
> struct _ATOM_POWERPLAY_INFO_V2 info_2;
> diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
> index f43b96dfe9d8..01120b302590 100644
> --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
> +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h
> @@ -374,8 +374,6 @@ u32 amdgpu_dpm_get_vblank_time(struct amdgpu_device *adev);
> int amdgpu_dpm_read_sensor(struct amdgpu_device *adev, enum amd_pp_sensors sensor,
> void *data, uint32_t *size);
>
> -bool amdgpu_is_internal_thermal_sensor(enum amdgpu_int_thermal_type sensor);
> -
> int amdgpu_get_platform_caps(struct amdgpu_device *adev);
>
> int amdgpu_parse_extended_power_table(struct amdgpu_device *adev);
> diff --git a/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c b/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c
> index bcae42cef374..380a5336c74f 100644
> --- a/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c
> +++ b/drivers/gpu/drm/amd/pm/powerplay/kv_dpm.c
> @@ -1256,6 +1256,29 @@ static void kv_dpm_enable_bapm(void *handle, bool enable)
> }
> }
>
> +static bool kv_is_internal_thermal_sensor(enum amdgpu_int_thermal_type sensor)
> +{
> + switch (sensor) {
> + case THERMAL_TYPE_RV6XX:
> + case THERMAL_TYPE_RV770:
> + case THERMAL_TYPE_EVERGREEN:
> + case THERMAL_TYPE_SUMO:
> + case THERMAL_TYPE_NI:
> + case THERMAL_TYPE_SI:
> + case THERMAL_TYPE_CI:
> + case THERMAL_TYPE_KV:
> + return true;
> + case THERMAL_TYPE_ADT7473_WITH_INTERNAL:
> + case THERMAL_TYPE_EMC2103_WITH_INTERNAL:
> + return false; /* need special handling */
> + case THERMAL_TYPE_NONE:
> + case THERMAL_TYPE_EXTERNAL:
> + case THERMAL_TYPE_EXTERNAL_GPIO:
> + default:
> + return false;
> + }
> +}
All these names don't look like KV specific. Remove the family specifc
ones like RV, SI, NI, CI etc., and keep KV and the generic ones like
GPIO/EXTERNAL/NONE. Don't see a chance of external diodes being used for KV.
Thanks,
Lijo
> +
> static int kv_dpm_enable(struct amdgpu_device *adev)
> {
> struct kv_power_info *pi = kv_get_pi(adev);
> @@ -1352,7 +1375,7 @@ static int kv_dpm_enable(struct amdgpu_device *adev)
> }
>
> if (adev->irq.installed &&
> - amdgpu_is_internal_thermal_sensor(adev->pm.int_thermal_type)) {
> + kv_is_internal_thermal_sensor(adev->pm.int_thermal_type)) {
> ret = kv_set_thermal_temperature_range(adev, KV_TEMP_RANGE_MIN, KV_TEMP_RANGE_MAX);
> if (ret) {
> DRM_ERROR("kv_set_thermal_temperature_range failed\n");
>
More information about the amd-gfx
mailing list