From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 108573] Cannot set pstate values with under-voltage values for Vega M Date: Fri, 26 Oct 2018 23:54:58 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0844508437==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id D426D89DA9 for ; Fri, 26 Oct 2018 23:54:58 +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 --===============0844508437== Content-Type: multipart/alternative; boundary="15405980980.88DfCD.30397" Content-Transfer-Encoding: 7bit --15405980980.88DfCD.30397 Date: Fri, 26 Oct 2018 23:54:58 +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=3D108573 Bug ID: 108573 Summary: Cannot set pstate values with under-voltage values for Vega M Product: DRI Version: unspecified Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: DRM/AMDgpu Assignee: dri-devel@lists.freedesktop.org Reporter: rstrube@gmail.com There are some folks on the Windows side of the fence that have had great success under-volting their Vega M chips to improve thermals (and because T= DP is shared between the CPU and GPU on Kaby Lake G, also their overall performance). Following information from the amdgpu kernel documentation I applied the following kernel boot parameters: amdgpu.runpm=3D0 amdgpu.ppfeaturemask=3D0xffffffff Note: I needed the runpm=3D0 so that the Vega M is active at all times, oth= erwise it powers down and I'm unable to make any changes to the pstates using the sysfs API. Then doing the following I was able to see the current pstates: cat /sys/bus/pci/drivers/amdgpu/0000:01:00.0/pp_od_clk_voltage OD_SCLK: 0: 225MHz 750mV 1: 400MHz 750mV 2: 535MHz 750mV 3: 715MHz 750mV 4: 850MHz 750mV 5: 960MHz 750mV 6: 985MHz 750mV 7: 1011MHz 750mV OD_MCLK: 0: 300MHz 750mV 1: 500MHz 750mV 2: 700MHz 750mV OD_RANGE: SCLK: 225MHz 1011MHz MCLK: 300MHz 700MHz VDDC: 750mV 750mV Then this to support updating the pstates: echo "manual" > /sys/bus/pci/drivers/amdgpu/0000:01:00.0/power_dpm_force_performance_level Then I could push in new pstates values, provided the voltage was *exactly* 750mV. I could set a higher clock speed for a pstate, but I was unable to = make any changes to the voltage. echo "s 0 226 750" > /sys/bus/pci/drivers/amdgpu/0000:01:00.0/pp_od_clk_vol= tage works and increases the MHz from 225 -> 226 for pstate 0, but echo "s 0 226 749" > /sys/bus/pci/drivers/amdgpu/0000:01:00.0/pp_od_clk_vol= tage -bash: echo: write error: Invalid argument Checking dmesg I see that the voltage range is constrained between 750 and = 750. [ 4362.487021] amdgpu: [powerplay] OD voltage is out of range [750 - 750] mV Would it be possible to add support for under-volting Vega M using the sysfs API? I also noticed that it's not possible to set any pstate higher than 1011 MH= z, perhaps that's a harder sell, but it might also be nice to be able to overc= lock the Vega M a little! P.S. I tried finding these values in the kernel source code, but I was extremely confused about the way they are defined. I figured worse case scenario I could manually modify these limits and recompile the kernel. Thanks! Rob --=20 You are receiving this mail because: You are the assignee for the bug.= --15405980980.88DfCD.30397 Date: Fri, 26 Oct 2018 23:54:58 +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 108573
Summary Cannot set pstate values with under-voltage values for Vega M
Product DRI
Version unspecified
Hardware x86-64 (AMD64)
OS Linux (All)
Status NEW
Severity normal
Priority medium
Component DRM/AMDgpu
Assignee dri-devel@lists.freedesktop.org
Reporter rstrube@gmail.com

There are some folks on the Windows side of the fence that hav=
e had great
success under-volting their Vega M chips to improve thermals (and because T=
DP
is shared between the CPU and GPU on Kaby Lake G, also their overall
performance).

Following information from the amdgpu kernel documentation I applied the
following kernel boot parameters:

amdgpu.runpm=3D0 amdgpu.ppfeaturemask=3D0xffffffff

Note: I needed the runpm=3D0 so that the Vega M is active at all times, oth=
erwise
it powers down and I'm unable to make any changes to the pstates using the
sysfs API.

Then doing the following I was able to see the current pstates:

cat /sys/bus/pci/drivers/amdgpu/0000:01:00.0/pp_od_clk_voltage

OD_SCLK:
0:        225MHz        750mV
1:        400MHz        750mV
2:        535MHz        750mV
3:        715MHz        750mV
4:        850MHz        750mV
5:        960MHz        750mV
6:        985MHz        750mV
7:       1011MHz        750mV
OD_MCLK:
0:        300MHz        750mV
1:        500MHz        750mV
2:        700MHz        750mV
OD_RANGE:
SCLK:     225MHz       1011MHz
MCLK:     300MHz        700MHz
VDDC:     750mV         750mV

Then this to support updating the pstates:

echo "manual" >
/sys/bus/pci/drivers/amdgpu/0000:01:00.0/power_dpm_force_performance_level

Then I could push in new pstates values, provided the voltage was *exactly*
750mV.  I could set a higher clock speed for a pstate, but I was unable to =
make
any changes to the voltage.

echo "s 0 226 750" > /sys/bus/pci/drivers/amdgpu/0000:01:00.0/=
pp_od_clk_voltage

works and increases the MHz from 225 -> 226 for pstate 0, but

echo "s 0 226 749" > /sys/bus/pci/drivers/amdgpu/0000:01:00.0/=
pp_od_clk_voltage
-bash: echo: write error: Invalid argument

Checking dmesg I see that the voltage range is constrained between 750 and =
750.

[ 4362.487021] amdgpu: [powerplay] OD voltage is out of range [750 - 750] mV

Would it be possible to add support for under-volting Vega M using the sysfs
API?

I also noticed that it's not possible to set any pstate higher than 1011 MH=
z,
perhaps that's a harder sell, but it might also be nice to be able to overc=
lock
the Vega M a little!

P.S. I tried finding these values in the kernel source code, but I was
extremely confused about the way they are defined.  I figured worse case
scenario I could manually modify these limits and recompile the kernel.

Thanks!
Rob


You are receiving this mail because:
  • You are the assignee for the bug.
= --15405980980.88DfCD.30397-- --===============0844508437== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0844508437==--