Needed for per CU powergating.

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Acked-by: Christian König <christian.koenig at amd.com>
Signed-off-by: Eric Huang <JinHuiEric.Huang at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c  | 5 +++++
 drivers/gpu/drm/amd/include/cgs_common.h | 1 +
 2 files changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index bd4571c..08c1e6d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -791,6 +791,7 @@ static int amdgpu_cgs_query_system_info(void *cgs_device,
                                struct cgs_system_info *sys_info)
 {
        CGS_FUNC_ADEV;
+       struct amdgpu_cu_info cu_info;

        if (NULL == sys_info)
                return -ENODEV;
@@ -814,6 +815,10 @@ static int amdgpu_cgs_query_system_info(void *cgs_device,
        case CGS_SYSTEM_INFO_PG_FLAGS:
                sys_info->value = adev->pg_flags;
                break;
+       case CGS_SYSTEM_INFO_GFX_CU_INFO:
+               amdgpu_asic_get_cu_info(adev, &cu_info);
+               sys_info->value = cu_info.number;
+               break;
        default:
                return -ENODEV;
        }
diff --git a/drivers/gpu/drm/amd/include/cgs_common.h 
b/drivers/gpu/drm/amd/include/cgs_common.h
index 2cd427a..58c0cef 100644
--- a/drivers/gpu/drm/amd/include/cgs_common.h
+++ b/drivers/gpu/drm/amd/include/cgs_common.h
@@ -112,6 +112,7 @@ enum cgs_system_info_id {
        CGS_SYSTEM_INFO_PCIE_MLW,
        CGS_SYSTEM_INFO_CG_FLAGS,
        CGS_SYSTEM_INFO_PG_FLAGS,
+       CGS_SYSTEM_INFO_GFX_CU_INFO,
        CGS_SYSTEM_INFO_ID_MAXIMUM,
 };

-- 
2.5.0

Reply via email to