[Patch v1 0/5] Enable BACO with KFD

Rajneesh Bhardwaj rajneesh.bhardwaj at amd.com
Tue Jan 28 01:29:18 UTC 2020


This series aims to enable BACO by default on supported AMD platforms
and ensures that the AMD Kernel Fusion Driver can co-exist with this
feature when the GPU devices are runtime suspended and firmware pushes
the envelop to save more power with BACO entry sequence. Current
approach makes sure that if KFD is using GPU services for compute, it
won't let AMDGPU driver suspend and if the AMDGPU driver is already
runtime suspended with GPUs in deep power saving mode with BACO, the KFD
driver wakes up the AMDGPU and then starts the compute workload
execution.

This series has been tested with a single GPU (fiji), Dual GPUs (fiji
and fiji/tonga) and seems to work fine. I have not seen but expect some
corner cases where for some reason a KFD client binds a process but is
unable to complete the task within 60 seconds. Ideally we should put the
runtime_put and auto_suspend code in some function which is logical
opposite of bind_process_to_device but during my experiments, it ended
up with random gpu hang, machine reboot etc so any comments for
improvement are welcome.

Todo: 

rebase on top of https://patchwork.freedesktop.org/patch/338037/

Rajneesh Bhardwaj (5):
  drm/amdgpu: always enable runtime power management
  drm/amdgpu: Fix missing error check in suspend
  drm/amdkfd: Introduce debugfs option to disable baco
  drm/amdkfd: show warning when kfd is locked
  drm/amdkfd: refactor runtime pm for baco

 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 12 ++++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h |  9 ++++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |  7 +++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c    |  3 +++
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c    |  9 +++----
 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c   |  2 ++
 drivers/gpu/drm/amd/amdkfd/kfd_debugfs.c   | 27 +++++++++++++++++++
 drivers/gpu/drm/amd/amdkfd/kfd_device.c    | 31 +++++++++++++---------
 drivers/gpu/drm/amd/amdkfd/kfd_iommu.c     |  5 +++-
 drivers/gpu/drm/amd/amdkfd/kfd_process.c   | 19 ++++++++++---
 10 files changed, 91 insertions(+), 33 deletions(-)

-- 
2.17.1



More information about the amd-gfx mailing list