[PATCH] drm/amdgpu: show gfx clock gating status to user

Huang Rui ray.huang at amd.com
Tue Jan 3 10:47:06 UTC 2017


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



More information about the amd-gfx mailing list