On 12.11.2015 07:17, Alex Deucher wrote: > This patch set adds preliminary powerplay support for amdgpu. > The aim of this patch set is to eventually replace the existing > dpm support for VI parts. Support for Tonga, Fiji, and VI APUs > is included. The same sysfs and debugfs interfaces are supported so > it's configured the same way as previous asics. > > You can force it on or off via the powerplay module parameter. > It is enabled by default for Tonga and Fiji. > > The patches are also available here: > http://cgit.freedesktop.org/~agd5f/linux/log/?h=amdgpu-powerplay
Eureka, we finally have that out. Since I wasn't involved into this the whole set is Acked-by: Christian König <christian.koenig at amd.com> > > Alex Deucher (3): > drm/amd/powerplay/tonga: enable pcie and mclk forcing for low > drm/amd/powerplay/fiji: enable pcie and mclk forcing for low > drm/amdgpu: extract pcie helpers to common header > > Eric Huang (5): > drm/amd/powerplay: add/update headers for Fiji SMU and DPM > drm/amd/powerplay: update atomctrl for fiji > drm/amd/powerplay: add Fiji SMU support. > drm/amd/powerplay: add Fiji DPM support. > drm/amd/amdgpu: enable powerplay and smc firmware loading for Fiji. > > Jammy Zhou (7): > drm/amd/powerplay: add SMU manager sub-component > drm/amd/powerplay: add hardware manager sub-component > drm/amd/powerplay: add Carrizo smu support > drm/amd/powerplay: add Carrizo dpm support > drm/amd/powerplay: Add Tonga SMU support > drm/amdgpu: add amdgpu.powerplay module option > drm/amdgpu: support per device powerplay enablement (v2) > > Rex Zhu (32): > drm/amdgpu: share struct amdgpu_pm_state_type with powerplay module > drm/amdgpu: mv some definition from amdgpu_acpi.c to amdgpu_acpi.h > drm/amdgpu: mv amdgpu_acpi.h to amd/include/amd_acpi.h > drm/amdgpu: implement new cgs interface for acpi function > drm/amdgpu: implement cgs interface to query system info > drm/amdgpu: add new cgs interface to get display info (v2) > drm/amd/powerplay: add basic powerplay framework > drm/amdgpu: disable legacy path of firmware check if powerplay is > enabled > drm/amdgpu: export amd_powerplay_func to amdgpu and other ip block > drm/amd/powerplay: add CG and PG support for carrizo > drm/amd/powerplay: add event manager sub-component > drm/amd/powerplay: implement functions of amd_powerplay_func > drm/amdgpu/powerplay: add function point in hwmgr_funcs for program > display gap > drm/amdgpu/poweprlay: export program display gap function to eventmgr > drm/amdgpu/powerplay: implement pem_task for > display_configuration_change > drm/amdgpu/powerplay: program display gap for tonga. > drm/amdgpu: enable powerplay module by default for tonga. > drm/amdgpu: enable powerplay module by default for fiji. > drm/amdgpu/powerplay: add some definition for other ip block to update > cg pg. > drm/amd/powerplay: add new function point in hwmgr_func for CG/PG. > drm/amd/powerplay: Add CG and PG support for tonga > drm/amdgpu/powerplay: add new function point in hwmgr_funcs for > thermal control > drm/amdgpu/powerplay: mv ppinterrupt.h to inc folder to share with > other submodule. > drm/amdgpu/powerplay: add thermal control interface in hwmgr. > drm/amdgpu/powerplay: enable thermal interrupt task in eventmgr. > drm/amdgpu/powerplay: implement thermal control for tonga. > drm/amdgpu/powerplay: implement fan control interface in > amd_powerplay_funcs > drm/amdgpu: export fan control functions to amdgpu > drm/amdgpu: enable sysfs interface for powerplay > drm/amd/powerplay: add and export hwmgr interface to eventmgr to check > hw states. > drm/amd/powerplay: implement new funcs to check current states for > tonga. > drm/amd/powerplay: refine the logic of whether need to update power > state. > > yanyang1 (4): > drm/amd/powerplay: Add ixSWRST_COMMAND_1 in bif_5_0_d.h > drm/amd/powerplay: Move smu7*.h from amdgpu to powerplay. > drm/amd/powerplay: add header file for tonga smu and dpm > drm/amd/powerplay: add Tonga dpm support (v3) > > drivers/gpu/drm/Kconfig | 1 + > drivers/gpu/drm/amd/amdgpu/Makefile | 12 +- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 110 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 58 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.h | 445 - > drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 286 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 6 + > drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 233 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c | 297 + > drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.h | 33 + > drivers/gpu/drm/amd/amdgpu/cik.c | 11 +- > drivers/gpu/drm/amd/amdgpu/cz_ppsmc.h | 185 - > drivers/gpu/drm/amd/amdgpu/fiji_ppsmc.h | 182 - > drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 80 +- > drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 24 +- > drivers/gpu/drm/amd/amdgpu/smu7.h | 170 - > drivers/gpu/drm/amd/amdgpu/smu7_discrete.h | 514 - > drivers/gpu/drm/amd/amdgpu/smu7_fusion.h | 300 - > drivers/gpu/drm/amd/amdgpu/smu8.h | 72 - > drivers/gpu/drm/amd/amdgpu/smu8_fusion.h | 127 - > drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_cz.h | 147 - > drivers/gpu/drm/amd/amdgpu/tonga_ppsmc.h | 198 - > drivers/gpu/drm/amd/amdgpu/vi.c | 9 +- > drivers/gpu/drm/amd/include/amd_acpi.h | 494 + > drivers/gpu/drm/amd/include/amd_pcie.h | 50 + > drivers/gpu/drm/amd/include/amd_pcie_helpers.h | 141 + > drivers/gpu/drm/amd/include/amd_shared.h | 21 + > .../gpu/drm/amd/include/asic_reg/bif/bif_5_0_d.h | 1 + > drivers/gpu/drm/amd/include/atombios.h | 79 + > drivers/gpu/drm/amd/include/cgs_common.h | 88 +- > drivers/gpu/drm/amd/powerplay/Kconfig | 6 + > drivers/gpu/drm/amd/powerplay/Makefile | 22 + > drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 605 ++ > drivers/gpu/drm/amd/powerplay/eventmgr/Makefile | 11 + > .../drm/amd/powerplay/eventmgr/eventactionchains.c | 288 + > .../drm/amd/powerplay/eventmgr/eventactionchains.h | 62 + > drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c | 195 + > drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h | 34 + > .../drm/amd/powerplay/eventmgr/eventmanagement.c | 215 + > .../drm/amd/powerplay/eventmgr/eventmanagement.h | 59 + > drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c | 114 + > .../drm/amd/powerplay/eventmgr/eventsubchains.c | 405 + > .../drm/amd/powerplay/eventmgr/eventsubchains.h | 99 + > .../gpu/drm/amd/powerplay/eventmgr/eventtasks.c | 431 + > .../gpu/drm/amd/powerplay/eventmgr/eventtasks.h | 88 + > drivers/gpu/drm/amd/powerplay/eventmgr/psm.c | 118 + > drivers/gpu/drm/amd/powerplay/eventmgr/psm.h | 38 + > drivers/gpu/drm/amd/powerplay/hwmgr/Makefile | 14 + > .../drm/amd/powerplay/hwmgr/cz_clockpowergating.c | 252 + > .../drm/amd/powerplay/hwmgr/cz_clockpowergating.h | 37 + > drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 1417 +++ > drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.h | 317 + > .../drm/amd/powerplay/hwmgr/fiji_dyn_defaults.h | 105 + > drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c | 4749 +++++++++ > drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.h | 354 + > .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.c | 553 + > .../gpu/drm/amd/powerplay/hwmgr/fiji_powertune.h | 66 + > .../gpu/drm/amd/powerplay/hwmgr/functiontables.c | 154 + > .../gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 246 + > drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 228 + > drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr_ppt.h | 105 + > drivers/gpu/drm/amd/powerplay/hwmgr/pp_acpi.c | 76 + > drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c | 1185 +++ > drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h | 243 + > drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h | 617 ++ > drivers/gpu/drm/amd/powerplay/hwmgr/pppcielanes.c | 64 + > drivers/gpu/drm/amd/powerplay/hwmgr/pppcielanes.h | 31 + > .../gpu/drm/amd/powerplay/hwmgr/processpptables.c | 1661 +++ > .../gpu/drm/amd/powerplay/hwmgr/processpptables.h | 47 + > .../amd/powerplay/hwmgr/tonga_clockpowergating.c | 350 + > .../amd/powerplay/hwmgr/tonga_clockpowergating.h | 36 + > .../drm/amd/powerplay/hwmgr/tonga_dyn_defaults.h | 107 + > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c | 5966 +++++++++++ > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h | 408 + > .../gpu/drm/amd/powerplay/hwmgr/tonga_powertune.h | 66 + > .../gpu/drm/amd/powerplay/hwmgr/tonga_pptable.h | 406 + > .../amd/powerplay/hwmgr/tonga_processpptables.c | 1129 ++ > .../amd/powerplay/hwmgr/tonga_processpptables.h | 35 + > .../gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c | 587 ++ > .../gpu/drm/amd/powerplay/hwmgr/tonga_thermal.h | 60 + > drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 206 + > drivers/gpu/drm/amd/powerplay/inc/cz_ppsmc.h | 185 + > drivers/gpu/drm/amd/powerplay/inc/eventmanager.h | 109 + > drivers/gpu/drm/amd/powerplay/inc/eventmgr.h | 125 + > drivers/gpu/drm/amd/powerplay/inc/fiji_ppsmc.h | 412 + > drivers/gpu/drm/amd/powerplay/inc/fiji_pwrvirus.h | 10299 > +++++++++++++++++++ > .../gpu/drm/amd/powerplay/inc/hardwaremanager.h | 357 + > drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 765 ++ > drivers/gpu/drm/amd/powerplay/inc/power_state.h | 200 + > drivers/gpu/drm/amd/powerplay/inc/pp_acpi.h | 28 + > drivers/gpu/drm/amd/powerplay/inc/pp_asicblocks.h | 47 + > drivers/gpu/drm/amd/powerplay/inc/pp_debug.h | 40 + > drivers/gpu/drm/amd/powerplay/inc/pp_feature.h | 67 + > drivers/gpu/drm/amd/powerplay/inc/pp_instance.h | 36 + > .../gpu/drm/amd/powerplay/inc/pp_power_source.h | 36 + > drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h | 46 + > drivers/gpu/drm/amd/powerplay/inc/smu7.h | 170 + > drivers/gpu/drm/amd/powerplay/inc/smu72.h | 664 ++ > drivers/gpu/drm/amd/powerplay/inc/smu72_discrete.h | 760 ++ > drivers/gpu/drm/amd/powerplay/inc/smu73.h | 720 ++ > drivers/gpu/drm/amd/powerplay/inc/smu73_discrete.h | 799 ++ > drivers/gpu/drm/amd/powerplay/inc/smu7_discrete.h | 514 + > drivers/gpu/drm/amd/powerplay/inc/smu7_fusion.h | 300 + > drivers/gpu/drm/amd/powerplay/inc/smu8.h | 72 + > drivers/gpu/drm/amd/powerplay/inc/smu8_fusion.h | 127 + > .../gpu/drm/amd/powerplay/inc/smu_ucode_xfer_cz.h | 147 + > .../gpu/drm/amd/powerplay/inc/smu_ucode_xfer_vi.h | 100 + > drivers/gpu/drm/amd/powerplay/inc/smumgr.h | 182 + > drivers/gpu/drm/amd/powerplay/inc/tonga_ppsmc.h | 420 + > drivers/gpu/drm/amd/powerplay/smumgr/Makefile | 9 + > drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c | 858 ++ > drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.h | 102 + > drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c | 1035 ++ > drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.h | 77 + > drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c | 263 + > .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c | 819 ++ > .../gpu/drm/amd/powerplay/smumgr/tonga_smumgr.h | 53 + > 118 files changed, 47406 insertions(+), 2580 deletions(-) > delete mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.h > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.c > create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_powerplay.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/cz_ppsmc.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/fiji_ppsmc.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu7.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu7_discrete.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu7_fusion.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu8.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu8_fusion.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/smu_ucode_xfer_cz.h > delete mode 100644 drivers/gpu/drm/amd/amdgpu/tonga_ppsmc.h > create mode 100644 drivers/gpu/drm/amd/include/amd_acpi.h > create mode 100644 drivers/gpu/drm/amd/include/amd_pcie.h > create mode 100644 drivers/gpu/drm/amd/include/amd_pcie_helpers.h > create mode 100644 drivers/gpu/drm/amd/powerplay/Kconfig > create mode 100644 drivers/gpu/drm/amd/powerplay/Makefile > create mode 100644 drivers/gpu/drm/amd/powerplay/amd_powerplay.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/Makefile > create mode 100644 > drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.c > create mode 100644 > drivers/gpu/drm/amd/powerplay/eventmgr/eventactionchains.h > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventinit.h > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmanagement.h > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventmgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventsubchains.h > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/eventtasks.h > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/psm.c > create mode 100644 drivers/gpu/drm/amd/powerplay/eventmgr/psm.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/Makefile > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/cz_clockpowergating.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/cz_clockpowergating.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_dyn_defaults.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_hwmgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_powertune.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/fiji_powertune.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/functiontables.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr_ppt.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/pp_acpi.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppatomctrl.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/ppevvmath.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/pppcielanes.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/pppcielanes.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/processpptables.h > create mode 100644 > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_clockpowergating.c > create mode 100644 > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_clockpowergating.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_dyn_defaults.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_hwmgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_powertune.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_pptable.h > create mode 100644 > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.c > create mode 100644 > drivers/gpu/drm/amd/powerplay/hwmgr/tonga_processpptables.h > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.c > create mode 100644 drivers/gpu/drm/amd/powerplay/hwmgr/tonga_thermal.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/cz_ppsmc.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/eventmanager.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/eventmgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/fiji_ppsmc.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/fiji_pwrvirus.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/hwmgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/power_state.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_acpi.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_asicblocks.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_debug.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_feature.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_instance.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_power_source.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/ppinterrupt.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu7.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu72.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu72_discrete.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu73.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu73_discrete.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu7_discrete.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu7_fusion.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu8.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu8_fusion.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu_ucode_xfer_cz.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smu_ucode_xfer_vi.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/smumgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/inc/tonga_ppsmc.h > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/Makefile > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/cz_smumgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/fiji_smumgr.h > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/smumgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/tonga_smumgr.c > create mode 100644 drivers/gpu/drm/amd/powerplay/smumgr/tonga_smumgr.h >