drm/amd: Hide unsupported power attributes
Some ASICS only offer one type of power attribute, so in the visible callback check whether the attributes are supported and hide if not supported. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
9366c2e87d
commit
15419813f2
@@ -3179,6 +3179,7 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
||||
struct amdgpu_device *adev = dev_get_drvdata(dev);
|
||||
umode_t effective_mode = attr->mode;
|
||||
uint32_t gc_ver = adev->ip_versions[GC_HWIP][0];
|
||||
uint32_t tmp;
|
||||
|
||||
/* under multi-vf mode, the hwmon attributes are all not supported */
|
||||
if (amdgpu_sriov_vf(adev) && !amdgpu_sriov_is_pp_one_vf(adev))
|
||||
@@ -3264,6 +3265,14 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
||||
(attr == &sensor_dev_attr_power1_average.dev_attr.attr))
|
||||
return 0;
|
||||
|
||||
/* not all products support both average and instantaneous */
|
||||
if (attr == &sensor_dev_attr_power1_average.dev_attr.attr &&
|
||||
amdgpu_hwmon_get_sensor_generic(adev, AMDGPU_PP_SENSOR_GPU_AVG_POWER, (void *)&tmp) == -EOPNOTSUPP)
|
||||
return 0;
|
||||
if (attr == &sensor_dev_attr_power1_input.dev_attr.attr &&
|
||||
amdgpu_hwmon_get_sensor_generic(adev, AMDGPU_PP_SENSOR_GPU_INPUT_POWER, (void *)&tmp) == -EOPNOTSUPP)
|
||||
return 0;
|
||||
|
||||
/* hide max/min values if we can't both query and manage the fan */
|
||||
if (((amdgpu_dpm_set_fan_speed_pwm(adev, U32_MAX) == -EOPNOTSUPP) &&
|
||||
(amdgpu_dpm_get_fan_speed_pwm(adev, NULL) == -EOPNOTSUPP) &&
|
||||
|
||||
Reference in New Issue
Block a user