mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
drm/amd/pm: Update pm attributes
Update pm attributes show/hide for gc_v12_1_0 v2: Use multi-aid check (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
7e490a22d4
commit
0761902578
|
|
@ -1910,8 +1910,6 @@ static int ss_bias_attr_update(struct amdgpu_device *adev, struct amdgpu_device_
|
|||
static int pp_od_clk_voltage_attr_update(struct amdgpu_device *adev, struct amdgpu_device_attr *attr,
|
||||
uint32_t mask, enum amdgpu_device_attr_states *states)
|
||||
{
|
||||
uint32_t gc_ver = amdgpu_ip_version(adev, GC_HWIP, 0);
|
||||
|
||||
*states = ATTR_STATE_SUPPORTED;
|
||||
|
||||
if (!amdgpu_dpm_is_overdrive_supported(adev)) {
|
||||
|
|
@ -1919,10 +1917,8 @@ static int pp_od_clk_voltage_attr_update(struct amdgpu_device *adev, struct amdg
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Enable pp_od_clk_voltage node for gc 9.4.3, 9.4.4, 9.5.0 SRIOV/BM support */
|
||||
if (gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0)) {
|
||||
/* Enable pp_od_clk_voltage node for gc 9.4.3, 9.4.4, 9.5.0, 12.1.0 SRIOV/BM support */
|
||||
if (amdgpu_is_multi_aid(adev)) {
|
||||
if (amdgpu_sriov_multi_vf_mode(adev))
|
||||
*states = ATTR_STATE_UNSUPPORTED;
|
||||
return 0;
|
||||
|
|
@ -2000,9 +1996,7 @@ static int pp_dpm_clk_default_attr_update(struct amdgpu_device *adev, struct amd
|
|||
gc_ver == IP_VERSION(11, 5, 0) ||
|
||||
gc_ver == IP_VERSION(11, 0, 2) ||
|
||||
gc_ver == IP_VERSION(11, 0, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0)))
|
||||
amdgpu_is_multi_aid(adev)))
|
||||
*states = ATTR_STATE_UNSUPPORTED;
|
||||
} else if (DEVICE_ATTR_IS(pp_dpm_vclk1)) {
|
||||
if (!((gc_ver == IP_VERSION(10, 3, 1) ||
|
||||
|
|
@ -2023,9 +2017,7 @@ static int pp_dpm_clk_default_attr_update(struct amdgpu_device *adev, struct amd
|
|||
gc_ver == IP_VERSION(11, 5, 0) ||
|
||||
gc_ver == IP_VERSION(11, 0, 2) ||
|
||||
gc_ver == IP_VERSION(11, 0, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0)))
|
||||
amdgpu_is_multi_aid(adev)))
|
||||
*states = ATTR_STATE_UNSUPPORTED;
|
||||
} else if (DEVICE_ATTR_IS(pp_dpm_dclk1)) {
|
||||
if (!((gc_ver == IP_VERSION(10, 3, 1) ||
|
||||
|
|
@ -2035,9 +2027,7 @@ static int pp_dpm_clk_default_attr_update(struct amdgpu_device *adev, struct amd
|
|||
*states = ATTR_STATE_UNSUPPORTED;
|
||||
} else if (DEVICE_ATTR_IS(pp_dpm_pcie)) {
|
||||
if (gc_ver == IP_VERSION(9, 4, 2) ||
|
||||
gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0))
|
||||
amdgpu_is_multi_aid(adev))
|
||||
*states = ATTR_STATE_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
|
@ -2651,6 +2641,7 @@ static int default_attr_update(struct amdgpu_device *adev, struct amdgpu_device_
|
|||
case IP_VERSION(11, 0, 3):
|
||||
case IP_VERSION(12, 0, 0):
|
||||
case IP_VERSION(12, 0, 1):
|
||||
case IP_VERSION(12, 1, 0):
|
||||
*states = ATTR_STATE_SUPPORTED;
|
||||
break;
|
||||
default:
|
||||
|
|
@ -3732,8 +3723,7 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
|||
|
||||
/* Skip crit temp on APU */
|
||||
if ((((adev->flags & AMD_IS_APU) && (adev->family >= AMDGPU_FAMILY_CZ)) ||
|
||||
(gc_ver == IP_VERSION(9, 4, 3) || gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0))) &&
|
||||
amdgpu_is_multi_aid(adev)) &&
|
||||
(attr == &sensor_dev_attr_temp1_crit.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_temp1_crit_hyst.dev_attr.attr))
|
||||
return 0;
|
||||
|
|
@ -3815,18 +3805,14 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
|||
|
||||
if ((adev->family == AMDGPU_FAMILY_SI || /* not implemented yet */
|
||||
adev->family == AMDGPU_FAMILY_KV || /* not implemented yet */
|
||||
(gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0))) &&
|
||||
amdgpu_is_multi_aid(adev)) &&
|
||||
(attr == &sensor_dev_attr_in0_input.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_in0_label.dev_attr.attr))
|
||||
return 0;
|
||||
|
||||
/* only APUs other than gc 9,4,3 have vddnb */
|
||||
if ((!(adev->flags & AMD_IS_APU) ||
|
||||
(gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0))) &&
|
||||
amdgpu_is_multi_aid(adev)) &&
|
||||
(attr == &sensor_dev_attr_in1_input.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_in1_label.dev_attr.attr))
|
||||
return 0;
|
||||
|
|
@ -3855,9 +3841,7 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
|
|||
return 0;
|
||||
|
||||
/* hotspot temperature for gc 9,4,3*/
|
||||
if (gc_ver == IP_VERSION(9, 4, 3) ||
|
||||
gc_ver == IP_VERSION(9, 4, 4) ||
|
||||
gc_ver == IP_VERSION(9, 5, 0)) {
|
||||
if (amdgpu_is_multi_aid(adev)) {
|
||||
if (attr == &sensor_dev_attr_temp1_input.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_temp1_emergency.dev_attr.attr ||
|
||||
attr == &sensor_dev_attr_temp1_label.dev_attr.attr)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user