[PATCH 00/20] drm/amdgpu: gfx off support
Huang Rui
ray.huang at amd.com
Thu Apr 19 00:22:16 UTC 2018
GFXOFF is the new GPU feature that save power consumption. It used RLC to
poweroff the gfx engine dynamicly when there is no workload on gfx pipe and make
gfx into "idle" state.
1. Add three additional RLC ucodes, and use psp to load them.
2. Revise RLC save restore list.
3. Enable CGPG (GFX power gating).
4. Enable gfxoff.
5. Revise suspend/resume sequence.
Currently, only raven is able to support gfxoff at first. And after CQE do
series rounds of testing, and there is no regression that bring by gfxoff
feature till now.
We support two types of gfxoff, and user is able to build them manually from
firmware repo:
1. Real CGPG
$ make clean
$ make REAL_CGPG=1
2. Faked CGPG: (by default)
$ make clean
$ make
Then configure to enable gfxoff with ppfeaturemask=0xffffbfff.
Thanks,
Ray
Huang Rui (20):
drm/amdgpu: update psp gfx if header
drm/amdgpu: add new rlc firmware header format v2.1
drm/amdgpu: add save restore list cntl gpm and srm firmware support
drm/amdgpu: enter rlc safe mode before set cgpg
drm/amdgpu: cleanup init power gating function
drm/amdgpu: revise init_rlc_save_restore_list behavior to support
latest register_list_format/register_restore table
drm/amdgpu: add setting powergating method for gfx9
drm/amd/powerplay: send CGPG smc message if PG is enabled for raven
drm/amdgpu: move PP_FEATURE_MASK to amd_shared header
drm/amdgpu: add gfxoff feature mask
drm/amdgpu: set gfxoff disabled by default
drm/amd/powerplay: add gfx off control function
drm/amd/powerplay: enable/disable gfxoff through smu
drm/amdgpu: use pp_feature member to store the mask
drm/amdgpu: clear gfxoff featue mask if the asic is not raven
drm/amd/powerplay: add control gfxoff enabling in late init
drm/amdgpu: it should disable gfxoff when system is going to suspend
drm/amdgpu: fix to disable powergating in hw_fini
drm/amdgpu: set CGPG if gfxoff is enabled for raven
drm/amd/powerplay: use the flag to decide whether send gfxoff smc
message
drivers/gpu/drm/amd/amdgpu/amdgpu.h | 16 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +
drivers/gpu/drm/amd/amdgpu/amdgpu_dpm.h | 2 -
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 36 ++++
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 51 ++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.h | 22 ++
drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 233 +++++++++++++++-------
drivers/gpu/drm/amd/amdgpu/kv_dpm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/psp_gfx_if.h | 67 +++++--
drivers/gpu/drm/amd/amdgpu/psp_v10_0.c | 9 +
drivers/gpu/drm/amd/amdgpu/soc15.c | 5 +
drivers/gpu/drm/amd/include/amd_shared.h | 19 ++
drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 20 +-
drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 6 +-
drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 50 ++++-
drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 19 +-
drivers/gpu/drm/amd/powerplay/inc/rv_ppsmc.h | 1 +
include/uapi/drm/amdgpu_drm.h | 6 +
20 files changed, 447 insertions(+), 129 deletions(-)
--
2.7.4
More information about the amd-gfx
mailing list