Signed-off-by: Huang Rui <ray.huang at amd.com> --- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 5 +++++ drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 2 ++ drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 ++ drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 3 +++ 5 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 96eeea7..989d311 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -1033,6 +1033,7 @@ struct amdgpu_gfx { struct amdgpu_irq_src priv_inst_irq; /* gfx status */ uint32_t gfx_current_status; + bool cg_enabled; /* ce ram size*/ unsigned ce_ram_size; struct amdgpu_cu_info cu_info; diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index a7c7657..10f2eab 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c @@ -1543,6 +1543,11 @@ static int amdgpu_debugfs_pm_info(struct seq_file *m, void *data) struct amdgpu_device *adev = dev->dev_private; struct drm_device *ddev = adev->ddev; + if (adev->gfx.cg_enabled) + seq_printf(m, "GFX Clock Gating: Enabled\n"); + else + seq_printf(m, "GFX Clock Gating: Disabled\n"); + if (!adev->pm.dpm_enabled) { seq_printf(m, "dpm not enabled\n"); return 0; diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c index 45b3365..c59fac2 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c @@ -3178,6 +3178,8 @@ static int gfx_v6_0_set_clockgating_state(void *handle, } gfx_v6_0_enable_gui_idle_interrupt(adev, true); + adev->gfx.cg_enabled = (state == AMD_CG_STATE_GATE) ? true : false; + return 0; } diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c index 0efb912..eb2ed44 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c @@ -5108,6 +5108,8 @@ static int gfx_v7_0_set_clockgating_state(void *handle, } gfx_v7_0_enable_gui_idle_interrupt(adev, true); + adev->gfx.cg_enabled = (state == AMD_CG_STATE_GATE) ? true : false; + return 0; } diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index c4afa8e..2b9618d 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -6156,6 +6156,9 @@ static int gfx_v8_0_set_clockgating_state(void *handle, default: break; } + + adev->gfx.cg_enabled = (state == AMD_CG_STATE_GATE) ? true : false; + return 0; } -- 2.7.4