mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
drm/amd/pm: Expose ppt1 limit for gc_v9_5_0
Expose power2_cap hwmon node for retrieving and configuring ppt1 limit on supported boards for gc_v9_5_0 v2: Remove version check (Lijo) v3: Remove power2_average (Lijo) v4: Put back power2_average, will be removed separately (Lijo) Signed-off-by: Asad Kamal <asad.kamal@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
d88edb2460
commit
12c958d1db
|
|
@ -3372,7 +3372,9 @@ static ssize_t amdgpu_hwmon_show_power_label(struct device *dev,
|
|||
to_sensor_dev_attr(attr)->index == PP_PWR_TYPE_FAST ?
|
||||
"fastPPT" : "slowPPT");
|
||||
else
|
||||
return sysfs_emit(buf, "PPT\n");
|
||||
return sysfs_emit(buf, "%s\n",
|
||||
to_sensor_dev_attr(attr)->index == PP_PWR_TYPE_FAST ?
|
||||
"PPT1" : "PPT");
|
||||
}
|
||||
|
||||
static ssize_t amdgpu_hwmon_set_power_cap(struct device *dev,
|
||||
|
|
@ -3825,13 +3827,15 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
|||
return 0;
|
||||
|
||||
/* only Vangogh has fast PPT limit and power labels */
|
||||
if (!(gc_ver == IP_VERSION(10, 3, 1)) &&
|
||||
(attr == &sensor_dev_attr_power2_average.dev_attr.attr ||
|
||||
if ((attr == &sensor_dev_attr_power2_average.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_power2_cap_max.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_power2_cap_min.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_power2_cap.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_power2_cap_default.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_power2_label.dev_attr.attr))
|
||||
attr == &sensor_dev_attr_power2_label.dev_attr.attr) &&
|
||||
(amdgpu_dpm_get_power_limit(adev, &tmp,
|
||||
PP_PWR_LIMIT_MAX,
|
||||
PP_PWR_TYPE_FAST) == -EOPNOTSUPP))
|
||||
return 0;
|
||||
|
||||
return effective_mode;
|
||||
|
|
|
|||
|
|
@ -2941,6 +2941,8 @@ int smu_get_power_limit(void *handle,
|
|||
if (limit_type != SMU_DEFAULT_PPT_LIMIT) {
|
||||
if (smu->ppt_funcs->get_ppt_limit)
|
||||
ret = smu->ppt_funcs->get_ppt_limit(smu, limit, limit_type, limit_level);
|
||||
else
|
||||
return -EOPNOTSUPP;
|
||||
} else {
|
||||
switch (limit_level) {
|
||||
case SMU_PPT_LIMIT_CURRENT:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user