[PART1 PATCH 0/8] Introduce a method to get clock gating status dynamically
Deucher, Alexander
Alexander.Deucher at amd.com
Thu Jan 5 15:40:33 UTC 2017
> -----Original Message-----
> From: Huang Rui [mailto:ray.huang at amd.com]
> Sent: Thursday, January 05, 2017 8:50 AM
> To: Deucher, Alexander; amd-gfx at lists.freedesktop.org
> Cc: Zhu, Rex; Mao, David; Fu, Ping; Zhang, Hawking; Huang, Ray
> Subject: [PART1 PATCH 0/8] Introduce a method to get clock gating status
> dynamically
>
> This series patches implement to get the clock gating status
> dynamically into debugfs. User will enter profiling mode to runtime
> disable clockgating, so it needs an interface to expose clock gating
> states. Part 1 works for VI, I will implement it on CI/SI in following
> days.
Patches 1-6:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Patches 7, 8:
I'm not sure if the UVD and VCE status registers are available if the blocks are powergated. Reading them back while powergated can cause a hang. Might want to check the PG sw state before reading back the registers.
Alex
>
> Here is the example on Fiji:
>
> root at jenkins-All-Series:/home/jenkins# cat
> /sys/kernel/debug/dri/64/amdgpu_pm_info
> Clock Gating Flags Mask: 0x3dfff
> Medium Grain Clock Gating: On
> Medium Grain memory Light Sleep: On
> Coarse Grain Clock Gating: On
> Coarse Grain memory Light Sleep: On
> Coarse Grain Tree Shader: On
> Coarse Grain Tree Shader Light Sleep: On
> Command Processor Light Sleep: On
> Run List Controller Light Sleep: On
> Memory Controller Light Sleep: On
> Memory Controller Medium Grain Clock Gating: On
> System Direct Memory Access Light Sleep: On
> System Direct Memory Access Medium Grain Clock Gating: On
> Bus Interface Light Sleep: On
> Universal Video Decoder Medium Grain Clock Gating: Off
> Video Coding Engine Medium Grain Clock Gating: On
> Host Data Path Light Sleep: On
> Host Data Path Medium Grain Clock Gating: On
> Rom Medium Grain Clock Gating: On
> ...
>
> Thanks,
> Rui
>
> Huang Rui (8):
> drm/amdgpu: introduce an interface to get clock gating status
> dynamically
> drm/amdgpu: add parse clock gating state
> drm/amdgpu: add clockgating_state method for gfx v8
> drm/amdgpu: add clockgating_state method for gmc v8
> drm/amdgpu: add clockgating_state method for sdma v3
> drm/amdgpu: add clockgating_state method for vi common
> drm/amdgpu: add clockgating_state method for uvd v5&v6
> drm/amdgpu: add clockgating_state method for vce v3
>
> drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 ++++
> drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 99
> ++++++++++++++++++++++++++++++
> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 40 ++++++++++++
> drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 16 +++++
> drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 17 +++++
> drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c | 12 ++++
> drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c | 12 ++++
> drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 18 ++++++
> drivers/gpu/drm/amd/amdgpu/vi.c | 27 ++++++++
> drivers/gpu/drm/amd/include/amd_shared.h | 2 +
> 11 files changed, 256 insertions(+)
>
> --
> 2.7.4
More information about the amd-gfx
mailing list