Add sub-queries for stable pstate shader/memory clock.

Change-Id: I2e524ec28dff1e679bee93718d8ceb468f7f6d22
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Rex Zhu <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 18 ++++++++++++++++++
 include/uapi/drm/amdgpu_drm.h           |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 0bdb194..5fec850 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -758,6 +758,24 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void 
*data, struct drm_file
                                return -EINVAL;
                        }
                        break;
+               case AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK:
+                       /* get sclk in Mhz */
+                       if (amdgpu_dpm_read_sensor(adev,
+                                                  
AMDGPU_PP_SENSOR_STABLE_PSTATE_SCLK,
+                                                  (void *)&ui32, &ui32_size)) {
+                               return -EINVAL;
+                       }
+                       ui32 /= 100;
+                       break;
+               case AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK:
+                       /* get mclk in Mhz */
+                       if (amdgpu_dpm_read_sensor(adev,
+                                                  
AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK,
+                                                  (void *)&ui32, &ui32_size)) {
+                               return -EINVAL;
+                       }
+                       ui32 /= 100;
+                       break;
                default:
                        DRM_DEBUG_KMS("Invalid request %d\n",
                                      info->sensor_info.type);
diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
index 1dc8089b..fe17b67 100644
--- a/include/uapi/drm/amdgpu_drm.h
+++ b/include/uapi/drm/amdgpu_drm.h
@@ -667,6 +667,10 @@ struct drm_amdgpu_cs_chunk_data {
        #define AMDGPU_INFO_SENSOR_VDDNB                0x6
        /* Subquery id: Query graphics voltage */
        #define AMDGPU_INFO_SENSOR_VDDGFX               0x7
+       /* Subquery id: Query GPU stable pstate shader clock */
+       #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK               0x8
+       /* Subquery id: Query GPU stable pstate memory clock */
+       #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK               0x9
 /* Number of VRAM page faults on CPU access. */
 #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS   0x1E
 #define AMDGPU_INFO_VRAM_LOST_COUNTER          0x1F
-- 
1.9.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to