How To Use AMDGPU PowerPlay On The Linux 4.5 Kernel

AMDGPU PowerPlay for graphics cards like Tonga and Fiji isn't enabled by default with the code in DRM-Next for Linux 4.5. There are basically two steps needed to ensure there is working AMDGPU PowerPlay support on 4.5.
First off, the Linux 4.5 kernel needs to be configured with the CONFIG_DRM_AMD_POWERPLAY Kconfig option. By default, this AMDGPU PowerPlay switch defaults to disabled. Hopefully the Ubuntu mainline kernel packages and other distributions quick to switch over to Linux 4.5 for development will go ahead and enable this config switch, since that alone isn't enough to get PowerPlay working. If your distribution/kernel doesn't, you'll need to rebuild it.
If you are on a Linux 4.5+ kernel that has CONFIG_DRM_AMD_POWERPLAY enabled, there is one more step. You need to set the module parameter for amdgpu.powerplay=1. Add that to your GRUB's kernel command-line so that PowerPlay will be enabled.
If both that Kconfig switch and kernel module parameter aren't set, the power management support for dGPUs on the AMDGPU kernel won't be enabled. Hopefully by Linux 4.6 or so we'll see the support enabled by default. Per this commit Alex Deucher explains, "disable powerplay by default initially. Hopefully we can enable this by default once we get more upstream feedback on stability, etc."
Later today I have out some fresh AMDGPU results on the R9 285 and R9 Fury with this code that will be merged into Linux 4.5 and paired with Mesa 11.2-devel + LLVM 3.8 SVN.
2 Comments