[Regression, bisected] New BONAIRE UVD firmware causes DPM problems and extremely slow performance
Submitted by Furkan
Assigned to Default DRI bug account
Created attachment 128327
Kernel bisect log
I have a 2GB Radeon R7 260X (BONAIRE).
With kernel 4.7 and above, I was experiencing extremely slow performance. Even desktop animations on Ubuntu 16.04 w/ Unity desktop are extremely choppy, probably about 10fps.
dmesg produces several instances of the following error message:
[drm:ci_dpm_set_power_state [radeon]] ERROR ci_upload_dpm_level_enable_mask failed
I did a kernel bisect, and narrowed the problem to the following commit: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=7050c6ef5f0e9bc5e6bf9eb035320b70f731b919
The bisect log is attached.
It seems that the commit adds support for a new firmware file, "bonaire_uvd.bin". If the driver fails in loading the new firmware file, it falls back to the legacy file, "BONAIRE_uvd.bin".
To confirm that the issue is caused by the new firmware, I deleted bonaire_uvd.bin, and performance is restored to normal with the latest stable kernel (4.9.0-rc7).
For what it's worth, here are the contents of /sys/kernel/debug/dri/64/radeon_pm_info while idling on the Ubuntu desktop with the new firmware:
power level avg sclk: 115774 mclk: 15000
And the old firmware:
power level avg sclk: 30248 mclk: 165000
Attachment 128327, "Kernel bisect log":