[PATCH 00/15] Add BACO support for CI/VI asics

Alex Deucher alexdeucher at gmail.com
Fri Oct 11 01:21:20 UTC 2019


This patch set enables BACO CI and VI asics.  BACO is
Bus Active Chip Off.  It allows us to turn off the GPU
while still keeping the bus interface up, so the device
does not disappear from the system.  PowerXpress and
Hybrid Graphics laptops support BOCO (Bus Off Chip Off)
which is controlled by ACPI.  BACO was conceived as
a power saving feature, but we also use it for reset
since the chip gets powered down.  These patches are
a pre-requisite for using BACO as a power saving
feature which will follow in another patch set.

BACO is working well on VI parts.  I haven't gotten
it working yet on CI parts, but I'm including the
code for reference if anyone wants to play with it.

Alex Deucher (15):
  drm/amdgpu: add new BIF 4.1 register for BACO
  drm/amdgpu: add new BIF 5.0 register for BACO
  drm/amdgpu: add new SMU 7.0.1 registers for BACO
  drm/amdgpu: add new SMU 7.1.2 registers for BACO
  drm/amdgpu: add new SMU 7.1.3 registers for BACO
  drm/amdgpu/powerplay: add core support for pre-SOC15 baco
  drm/amdgpu/powerplay: add support for BACO on tonga
  drm/amdgpu/powerplay: add support for BACO on Iceland
  drm/amdgpu/powerplay: add support for BACO on polaris
  drm/amdgpu/powerplay: add support for BACO on VegaM
  drm/amdgpu/powerplay: add support for BACO on Fiji
  drm/amdgpu/powerplay: add support for BACO on CI
  drm/amdgpu/powerplay: split out common smu7 BACO code
  drm/amdgpu/powerplay: wire up BACO to powerplay API for smu7
  drm/amdgpu: enable BACO reset for SMU7 based dGPUs (v2)

 drivers/gpu/drm/amd/amdgpu/cik.c              |  48 +++-
 drivers/gpu/drm/amd/amdgpu/cik.h              |   3 +
 drivers/gpu/drm/amd/amdgpu/vi.c               |  84 ++++++-
 drivers/gpu/drm/amd/amdgpu/vi.h               |   3 +
 .../drm/amd/include/asic_reg/bif/bif_4_1_d.h  |   1 +
 .../include/asic_reg/bif/bif_4_1_sh_mask.h    |   2 +
 .../drm/amd/include/asic_reg/bif/bif_5_0_d.h  |   1 +
 .../include/asic_reg/bif/bif_5_0_sh_mask.h    |   2 +
 .../amd/include/asic_reg/smu/smu_7_0_1_d.h    |   1 +
 .../include/asic_reg/smu/smu_7_0_1_sh_mask.h  |   2 +
 .../amd/include/asic_reg/smu/smu_7_1_2_d.h    |   1 +
 .../include/asic_reg/smu/smu_7_1_2_sh_mask.h  |   2 +
 .../amd/include/asic_reg/smu/smu_7_1_3_d.h    |   1 +
 .../include/asic_reg/smu/smu_7_1_3_sh_mask.h  |   2 +
 drivers/gpu/drm/amd/powerplay/hwmgr/Makefile  |   3 +-
 drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.c | 195 +++++++++++++++
 drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.h |  29 +++
 .../gpu/drm/amd/powerplay/hwmgr/common_baco.c |  19 ++
 .../gpu/drm/amd/powerplay/hwmgr/common_baco.h |  13 +
 .../gpu/drm/amd/powerplay/hwmgr/fiji_baco.c   | 196 +++++++++++++++
 .../gpu/drm/amd/powerplay/hwmgr/fiji_baco.h   |  29 +++
 .../drm/amd/powerplay/hwmgr/polaris_baco.c    | 222 +++++++++++++++++
 .../drm/amd/powerplay/hwmgr/polaris_baco.h    |  29 +++
 .../gpu/drm/amd/powerplay/hwmgr/smu7_baco.c   |  91 +++++++
 .../gpu/drm/amd/powerplay/hwmgr/smu7_baco.h   |  32 +++
 .../gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c  |   4 +
 .../gpu/drm/amd/powerplay/hwmgr/tonga_baco.c  | 231 ++++++++++++++++++
 .../gpu/drm/amd/powerplay/hwmgr/tonga_baco.h  |  29 +++
 28 files changed, 1264 insertions(+), 11 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.c
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ci_baco.h
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_baco.c
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_baco.h
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.c
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/polaris_baco.h
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/smu7_baco.c
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/smu7_baco.h
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_baco.c
 create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_baco.h

-- 
2.20.1



More information about the amd-gfx mailing list