]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/pm: add feature query interface for uniras
authorGangliang Xie <ganglxie@amd.com>
Fri, 12 Dec 2025 07:42:49 +0000 (15:42 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 Mar 2026 21:43:21 +0000 (16:43 -0500)
add amdgpu_smu_ras_feature_is_enabled to query one feature
is supported or not

v2: change default return value from -EOPNOTSUPP to 0

Signed-off-by: Gangliang Xie <ganglxie@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h

index b05c8bbdf2f31824d4ecc34730eab49e74f9fcf2..26b43a6276d0d2bb00adfbe951712330c9a8c585 100644 (file)
@@ -628,6 +628,18 @@ int amdgpu_smu_ras_send_msg(struct amdgpu_device *adev, enum smu_message_type ms
        return ret;
 }
 
+int amdgpu_smu_ras_feature_is_enabled(struct amdgpu_device *adev,
+                                               enum smu_feature_mask mask)
+{
+       struct smu_context *smu = adev->powerplay.pp_handle;
+       int ret = 0;
+
+       if (smu->ppt_funcs && smu->ppt_funcs->feature_is_enabled)
+               ret = smu->ppt_funcs->feature_is_enabled(smu, mask);
+
+       return ret;
+}
+
 static int smu_sys_get_pp_table(void *handle,
                                char **table)
 {
index a6303d093c50e7394f6ba0477fb6bf4c5d72f67a..90346e70a614b6307f0e6387cae2ef19c5c86276 100644 (file)
@@ -1997,6 +1997,8 @@ const struct ras_smu_drv *smu_get_ras_smu_driver(void *handle);
 
 int amdgpu_smu_ras_send_msg(struct amdgpu_device *adev, enum smu_message_type msg,
                            uint32_t param, uint32_t *readarg);
+int amdgpu_smu_ras_feature_is_enabled(struct amdgpu_device *adev,
+                                               enum smu_feature_mask mask);
 #endif
 
 void smu_feature_cap_set(struct smu_context *smu, enum smu_feature_cap_id fea_id);