]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/amdgpu: disable hwmon power1_cap* for gfx 11.0.3 on vf mode
authorYang Wang <kevinyang.wang@amd.com>
Mon, 25 Aug 2025 04:54:01 +0000 (12:54 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 Aug 2025 17:57:51 +0000 (13:57 -0400)
the PPSMC_MSG_GetPptLimit msg is not valid for gfx 11.0.3 on vf mode,
so skiped to create power1_cap* hwmon sysfs node.

Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/amdgpu_pm.c

index 30a504122a5ade509c6cb59d8f5d139a6b85281c..5230276628a342fb49033ffa6c08d189193984f0 100644 (file)
@@ -3586,14 +3586,16 @@ static umode_t hwmon_attributes_visible(struct kobject *kobj,
                effective_mode &= ~S_IWUSR;
 
        /* not implemented yet for APUs other than GC 10.3.1 (vangogh) and 9.4.3 */
-       if (((adev->family == AMDGPU_FAMILY_SI) ||
-            ((adev->flags & AMD_IS_APU) && (gc_ver != IP_VERSION(10, 3, 1)) &&
-             (gc_ver != IP_VERSION(9, 4, 3) && gc_ver != IP_VERSION(9, 4, 4)))) &&
-           (attr == &sensor_dev_attr_power1_cap_max.dev_attr.attr ||
-            attr == &sensor_dev_attr_power1_cap_min.dev_attr.attr ||
-            attr == &sensor_dev_attr_power1_cap.dev_attr.attr ||
-            attr == &sensor_dev_attr_power1_cap_default.dev_attr.attr))
-               return 0;
+       if (attr == &sensor_dev_attr_power1_cap_max.dev_attr.attr ||
+           attr == &sensor_dev_attr_power1_cap_min.dev_attr.attr ||
+           attr == &sensor_dev_attr_power1_cap.dev_attr.attr ||
+           attr == &sensor_dev_attr_power1_cap_default.dev_attr.attr) {
+               if (adev->family == AMDGPU_FAMILY_SI ||
+                   ((adev->flags & AMD_IS_APU) && gc_ver != IP_VERSION(10, 3, 1) &&
+                    (gc_ver != IP_VERSION(9, 4, 3) && gc_ver != IP_VERSION(9, 4, 4))) ||
+                   (amdgpu_sriov_vf(adev) && gc_ver == IP_VERSION(11, 0, 3)))
+                       return 0;
+       }
 
        /* not implemented yet for APUs having < GC 9.3.0 (Renoir) */
        if (((adev->family == AMDGPU_FAMILY_SI) ||