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 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx