[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