From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 110113] AMD Vega64 issue setting custom voltages Date: Thu, 14 Mar 2019 13:10:10 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0036529548==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id D57C76E2C6 for ; Thu, 14 Mar 2019 13:10:10 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0036529548== Content-Type: multipart/alternative; boundary="15525690101.2cEE80dD.24270" Content-Transfer-Encoding: 7bit --15525690101.2cEE80dD.24270 Date: Thu, 14 Mar 2019 13:10:10 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D110113 Bug ID: 110113 Summary: AMD Vega64 issue setting custom voltages Product: DRI Version: XOrg git Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: wslatem@gmail.com I have been attempting to undervolt my Vega64 to reduce power consumption. I have tested the GPU under Fedora 29, running stock kernel 4.20 and mesa 1= 8.3, and Mint 19.1, with Kernel 5.0 and mesa 19 and the issue is identical I have set the AMDgpu mask in grub to amdgpu.ppfeaturemask=3D0xffffffff. I can confirm the GPU accepts custom values that I write into pp_od_clk_voltage, and the GPU run on these, but the voltage create a stran= ge profile. The voltages abide to the new settings, but only in the hysteresis/dead band around the clock in that P state. Soon as the clocks move out of this band, the voltages go max, i.e. 1.2V. Under 2D workload, the card seems fine, but soon as it is in 3D work loads, running in P5 and up, the voltage control is a problem, esspecialy if I'm at only 1450Mhz and running at 1.2V If I set P state, P6, to 1550MHz @ 1000mV and P7 to 1620MHz @ 1050mV and the clock is around 1550MHz, I will see that it has set the voltage to 1000mV, = but if that freq increase to, say, 1580MHz, the GPU will be set to 1200mV. I suspected that maybe the reading I saw was incorrect, but it cannot be incorrect, as the GPU performs worse after the tweak, generally battling to leave P5 state, where stock clocks, it will stick closer to the P6 state clocks. My GPU also unfortunately has coil whine, but this does give audio cues with load and frame rate. The GPU changes pitch when it moves in and out of the set voltage. The GPU whine will be quieter when it landed in the reduced voltage state, and immediately increases once it jumps to the 1.2V state.=20 The issue is also that it jumps between the reduced voltage and full voltage when it is boarder line, as the GPU starts to throttle when the voltages ju= mp to 1.2V Essentially this is how I see the GPU react to my new voltage profile (leav= ing the clocks at stock). P5 P6 P7 -------| |-------------| |--------------| |-----1200mV |_____| |_____| |_____| 980mV 1000mV 1050mV So far all I can really change is the power state without causing issue, and this helps with performace when I increase it, at the cost of massive heat production --=20 You are receiving this mail because: You are the assignee for the bug.= --15525690101.2cEE80dD.24270 Date: Thu, 14 Mar 2019 13:10:10 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated
Bug ID 110113
Summary AMD Vega64 issue setting custom voltages
Product DRI
Version XOrg git
Hardware x86-64 (AMD64)
OS Linux (All)
Status NEW
Severity normal
Priority medium
Component DRM/AMDgpu
Assignee dri-devel@lists.freedesktop.org
Reporter wslatem@gmail.com

I have been attempting to undervolt my Vega64 to reduce power =
consumption.

I have tested the GPU under Fedora 29, running stock kernel 4.20 and mesa 1=
8.3,
and Mint 19.1, with Kernel 5.0 and mesa 19 and the issue is identical

I have set the AMDgpu mask in grub to amdgpu.ppfeaturemask=3D0xffffffff.

I can confirm the GPU accepts custom values that I write into
pp_od_clk_voltage, and the GPU run on these, but the voltage create a stran=
ge
profile.

The voltages abide to the new settings, but only in the hysteresis/dead band
around the clock in that P state.

Soon as the clocks move out of this band, the voltages go max, i.e. 1.2V.
Under 2D workload, the card seems fine, but soon as it is in 3D work loads,
running in P5 and up, the voltage control is a problem, esspecialy if I'm at
only 1450Mhz and running at 1.2V

If I set P state, P6, to 1550MHz @ 1000mV and P7 to 1620MHz @ 1050m=
V and the
clock is around 1550MHz, I will see that it has set the voltage to 1000mV, =
but
if that freq increase to, say, 1580MHz, the GPU will be set to 1200mV.

I suspected that maybe the reading I saw was incorrect, but it cannot be
incorrect, as the GPU performs worse after the tweak, generally battling to
leave P5 state, where stock clocks, it will stick closer to the P6 state
clocks.

My GPU also unfortunately has coil whine, but this does give audio cues with
load and frame rate.

The GPU changes pitch when it moves in and out of the set voltage. The GPU
whine will be quieter when it landed in the reduced voltage state, and
immediately increases once it jumps to the 1.2V state.=20
The issue is also that it jumps between the reduced voltage and full voltage
when it is boarder line, as the GPU starts to throttle when the voltages ju=
mp
to 1.2V

Essentially this is how I see the GPU react to my new voltage profile (leav=
ing
the clocks at stock).

         P5                  P6                   P7
-------|     |-------------|     |--------------|     |-----1200mV
       |_____|             |_____|              |_____|
        980mV               1000mV              1050mV

So far all I can really change is the power state without causing issue, and
this helps with performace when I increase it, at the cost of massive heat
production


You are receiving this mail because:
  • You are the assignee for the bug.
= --15525690101.2cEE80dD.24270-- --===============0036529548== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0036529548==--