On startup (and after resume), I see the following: switching from power state: ui class: none internal class: boot caps: uvd vclk: 0 dclk: 0 power level 0 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950 power level 1 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950 power level 2 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950 status: c b switching to power state: ui class: performance internal class: none caps: uvd vclk: 0 dclk: 0 power level 0 sclk: 10000 mclk: 15000 vddc: 950 vddci: 950 power level 1 sclk: 77500 mclk: 105000 vddc: 1150 vddci: 1150 power level 2 sclk: 84000 mclk: 105000 vddc: 1190 vddci: 1150 status: r /sys/kernel/debug/dri/65/radeon_pm_info says: uvd vclk: 0 dclk: 0 power level 2 sclk: 84000 mclk: 105000 vddc: 1190 vddci: 1150 The primary boot graphics device is an integrated Intel GPU, to which a monitor is connected. The second HD6790 (BARTS) GPU is headless, but it still stays in the highest power level (2). Only after X has started or an OpenCL program has finished, power level 0 is entered. Note: just attaching the a monitor does not change the power level, but the switching to performance state kernel messages are printed. X *really* has to be started with the AMD card being used for output, only then it will switch to power level 0.
Try this patch on top of 3.15.x: https://bugzilla.kernel.org/show_bug.cgi?id=79071#c4
barts is a BTC part so the patch in comment 3 is applicable rather than comment 4.