[PATCH 00/19] Enable BACO for power savings

Quan, Evan Evan.Quan at amd.com
Mon Oct 14 03:32:50 UTC 2019


Patch 1 - 16 are Reviewed-by: Evan Quan <evan.quan at amd.com>
Patch 17 - 19 are acked-by: Evan Quan <evan.quan at amd.com>

-----Original Message-----
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> On Behalf Of Alex Deucher
Sent: Friday, October 11, 2019 9:45 AM
To: amd-gfx at lists.freedesktop.org; tiwai at suse.de; lukas at wunner.de
Cc: Deucher, Alexander <Alexander.Deucher at amd.com>
Subject: [PATCH 00/19] Enable BACO for power savings

This patch set enables BACO (Bus Active Chip Off) for power savings on VI+ asics.  Similar to PowerXpress and Hybrid Graphics (PX/HG) laptops, we can disable GPUs at runtime when they are not in use is they support BACO.  The runtime pm code in amdgpu was originally developed for PX/HG laptops, so it was pretty entangled with the vga_switcheroo and ACPI code.  Since the GPU contains an audio codec for HDMI/DP, there is some interaction with the hda driver.  I am by no means an expert on alsa, so any advice on those patches is much appreciated.  I had to enable runtime pm on the hda device to allow the GPU to enter runtime pm because they are linked.

These patches depend on the clean patches and CI/VI BACO patches I sent out earlier today.

The full tree can be found here:
https://cgit.freedesktop.org/~agd5f/linux/log/?h=baco

TODO:
- Turn off runtime pm when KFD is active
- Make sure audio still works
- Make sure PX/HG still works

Alex Deucher (19):
  drm/amdgpu: add asic callback for BACO support
  drm/amdgpu: add supports_baco callback for soc15 asics.
  drm/amdgpu: add supports_baco callback for SI asics.
  drm/amdgpu: add supports_baco callback for CIK asics.
  drm/amdgpu: add supports_baco callback for VI asics.
  drm/amdgpu: add supports_baco callback for NV asics.
  drm/amdgpu: add a amdgpu_device_supports_baco helper
  drm/amdgpu: rename amdgpu_device_is_px to amdgpu_device_supports_boco
  drm/amdgpu: add additional boco checks to runtime suspend/resume
  drm/amdgpu: split swSMU baco_reset into enter and exit
  drm/amdgpu: add helpers for baco entry and exit
  drm/amdgpu: add baco support to runtime suspend/resume
  drm/amdgpu: start to disentangle boco from runtime pm
  drm/amdgpu: disentangle runtime pm and vga_switcheroo
  drm/amdgpu: enable runtime pm on BACO capable boards if runpm=1
  drm/amdgpu/runpm: enable runpm on baco capable VI+ asics
  ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD
  ALSA: hda/hdmi - enable runtime pm for newer AMD display audio
  ALSA: hda/hdmi - enable automatic runtime pm for AMD HDMI codecs by
    default

 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |  12 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    | 106 ++++++++++++++++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |  64 ++++++-----
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c       |  20 +++-
 drivers/gpu/drm/amd/amdgpu/cik.c              |  18 +++
 drivers/gpu/drm/amd/amdgpu/nv.c               |  18 ++-
 drivers/gpu/drm/amd/amdgpu/si.c               |   6 +
 drivers/gpu/drm/amd/amdgpu/soc15.c            |  37 +++++-
 drivers/gpu/drm/amd/amdgpu/vi.c               |  22 ++++
 .../gpu/drm/amd/powerplay/inc/amdgpu_smu.h    |   9 +-
 drivers/gpu/drm/amd/powerplay/smu_v11_0.c     |  12 +-
 sound/pci/hda/hda_intel.c                     |  74 +++++++++++-
 sound/pci/hda/patch_hdmi.c                    |   1 +
 13 files changed, 343 insertions(+), 56 deletions(-)

--
2.20.1

_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list