[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.


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

 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(-)


More information about the amd-gfx mailing list