You are not logged in.

#1 2021-02-26 17:38:08

jsynacek
Member
Registered: 2021-02-26
Posts: 1

AMD Radeon R7 430 decreases power level under load

Hello,

I have a radeon card that decreases its power level under load, which effectively renders it unusable for a lot of things. I "tested" this by running a steam game (Rimworld) and also a native game (Warzone 2100). Both games run fine for about 2-3 seconds, then start stuttering and become unplayable. I can confirm by monitoring /sys/kernel/debug/dri/0/radeon_pm_info that the power level decreased from 3 to 0 and then continues to fluctuate between 0 and 1. Maxing out performance levels according to https://wiki.archlinux.org/index.php/AT … management doesn't work as well. I use the radeon kernel module, but I also tried amdgpu and it was the same. I could also confirm that there was no overheating.

Am I missing something? How do I tell the driver to not throttle the performance? Is this a bug in the driver?

As a side note: The card was sold to me as "AMD Radeon R7 430", but it doesn't seem to idenitify as such, as can be seen from the output below.

$ lspci -v
...
21:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM] (rev 87) (prog-if 00 [VGA controller])
    Subsystem: Hewlett-Packard Company Device 3375
    Flags: bus master, fast devsel, latency 0, IRQ 76, IOMMU group 14
    Memory at e0000000 (64-bit, prefetchable) [size=256M]
    Memory at fca00000 (64-bit, non-prefetchable) [size=256K]
    I/O ports at f000 [size=256]
    Expansion ROM at fca40000 [disabled] [size=128K]
    Capabilities: [48] Vendor Specific Information: Len=08 <?>
    Capabilities: [50] Power Management version 3
    Capabilities: [58] Express Legacy Endpoint, MSI 00
    Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
    Capabilities: [150] Advanced Error Reporting
    Capabilities: [200] Physical Resizable BAR
    Capabilities: [270] Secondary PCI Express
    Kernel driver in use: radeon
    Kernel modules: radeon, amdgpu
...

$ cat /proc/cmdline
initrd=\initramfs-linux.img cryptdevice=UUID=5606b542-a490-4706-a678-f99ecae179ec:crypt-root root=/dev/mapper/crypt-root resume=/dev/mapper/crypt-root rw amdgpu.ppfeaturemask=0xffffffff radeon.dpm=1 radeon.si_support=1 radeon.cik_support=1

cat ./radeon-performance.sh
#!/bin/bash
echo performance > /sys/class/drm/card0/device/power_dpm_state
echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level

Here are relevant entries from the boot log:

...
Feb 26 18:06:28 jsynacek-home kernel: Linux agpgart interface v0.103
Feb 26 18:06:28 jsynacek-home kernel: [drm] radeon kernel modesetting enabled.
Feb 26 18:06:28 jsynacek-home kernel: checking generic (e0000000 8ca000) vs hw (e0000000 10000000)
Feb 26 18:06:28 jsynacek-home kernel: fb0: switching to radeondrmfb from EFI VGA
Feb 26 18:06:28 jsynacek-home kernel: Console: switching to colour dummy device 80x25
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: vgaarb: deactivate vga console
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: enabling device (0006 -> 0007)
Feb 26 18:06:28 jsynacek-home kernel: [drm] initializing kernel modesetting (OLAND 0x1002:0x6611 0x103C:0x3375 0x87).
Feb 26 18:06:28 jsynacek-home kernel: ATOM BIOS: HP
Feb 26 18:06:28 jsynacek-home kernel: [drm] Changing default dispclk from 480Mhz to 600Mhz
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: GTT: 2048M 0x0000000080000000 - 0x00000000FFFFFFFF
Feb 26 18:06:28 jsynacek-home kernel: [drm] Detected VRAM RAM=2048M, BAR=256M
Feb 26 18:06:28 jsynacek-home kernel: [drm] RAM width 64bits DDR
Feb 26 18:06:28 jsynacek-home kernel: [TTM] Zone  kernel: Available graphics memory: 16432342 KiB
Feb 26 18:06:28 jsynacek-home kernel: [TTM] Zone   dma32: Available graphics memory: 2097152 KiB
Feb 26 18:06:28 jsynacek-home kernel: [drm] radeon: 2048M of VRAM memory ready
Feb 26 18:06:28 jsynacek-home kernel: [drm] radeon: 2048M of GTT memory ready.
Feb 26 18:06:28 jsynacek-home kernel: [drm] Loading oland Microcode
Feb 26 18:06:28 jsynacek-home kernel: [drm] Internal thermal controller with fan control
Feb 26 18:06:28 jsynacek-home kernel: == power state 0 ==
Feb 26 18:06:28 jsynacek-home kernel:         ui class: none
Feb 26 18:06:28 jsynacek-home kernel:         internal class: boot
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 14900 vddc: 900 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status: c r b
Feb 26 18:06:28 jsynacek-home kernel: == power state 1 ==
Feb 26 18:06:28 jsynacek-home kernel:         ui class: performance
Feb 26 18:06:28 jsynacek-home kernel:         internal class: none
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 40000 mclk: 110000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 73000 mclk: 110000 vddc: 1100 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 3    sclk: 78000 mclk: 110000 vddc: 1150 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status:
Feb 26 18:06:28 jsynacek-home kernel: == power state 2 ==
Feb 26 18:06:28 jsynacek-home kernel:         ui class: none
Feb 26 18:06:28 jsynacek-home kernel:         internal class: uvd
Feb 26 18:06:28 jsynacek-home kernel:         caps: video
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 72000 dclk: 56000
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 40000 mclk: 80000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 40000 mclk: 80000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 73000 mclk: 80000 vddc: 1100 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status:
Feb 26 18:06:28 jsynacek-home kernel: == power state 3 ==
Feb 26 18:06:28 jsynacek-home kernel:         ui class: none
Feb 26 18:06:28 jsynacek-home kernel:         internal class: ulv
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status:
Feb 26 18:06:28 jsynacek-home kernel: [drm] radeon: dpm initialized
Feb 26 18:06:28 jsynacek-home kernel: [drm] Found VCE firmware/feedback version 50.0.1 / 17!
Feb 26 18:06:28 jsynacek-home kernel: [drm] GART: num cpu pages 524288, num gpu pages 524288
Feb 26 18:06:28 jsynacek-home kernel: [drm] PCIE gen 3 link speeds already enabled
Feb 26 18:06:28 jsynacek-home kernel: [drm] PCIE GART of 2048M enabled (table at 0x00000000001D6000).
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: WB enabled
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: fence driver on ring 5 use gpu addr 0x0000000000075a18
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: failed VCE resume (-110).
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: radeon: MSI limited to 32-bit
Feb 26 18:06:28 jsynacek-home kernel: radeon 0000:21:00.0: radeon: using MSI.
Feb 26 18:06:28 jsynacek-home kernel: [drm] radeon: irq initialized.
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 0 succeeded in 1 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 1 succeeded in 1 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 2 succeeded in 1 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 3 succeeded in 4 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 4 succeeded in 4 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ring test on 5 succeeded in 1 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] UVD initialized successfully.
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 0 succeeded in 0 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 1 succeeded in 0 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 2 succeeded in 0 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 3 succeeded in 0 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 4 succeeded in 0 usecs
Feb 26 18:06:28 jsynacek-home kernel: [drm] ib test on ring 5 succeeded
Feb 26 18:06:28 jsynacek-home kernel: [drm] Radeon Display Connectors
Feb 26 18:06:28 jsynacek-home kernel: [drm] Connector 0:
Feb 26 18:06:28 jsynacek-home kernel: [drm]   DP-1
Feb 26 18:06:28 jsynacek-home kernel: [drm]   HPD1
Feb 26 18:06:28 jsynacek-home kernel: [drm]   DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c 0x654c
Feb 26 18:06:28 jsynacek-home kernel: [drm]   Encoders:
Feb 26 18:06:28 jsynacek-home kernel: [drm]     DFP1: INTERNAL_UNIPHY
Feb 26 18:06:28 jsynacek-home kernel: [drm] Connector 1:
Feb 26 18:06:28 jsynacek-home kernel: [drm]   DP-2
Feb 26 18:06:28 jsynacek-home kernel: [drm]   HPD2
Feb 26 18:06:28 jsynacek-home kernel: [drm]   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
Feb 26 18:06:28 jsynacek-home kernel: [drm]   Encoders:
Feb 26 18:06:28 jsynacek-home kernel: [drm]     DFP2: INTERNAL_UNIPHY
Feb 26 18:06:28 jsynacek-home kernel: switching from power state:
Feb 26 18:06:28 jsynacek-home kernel:         ui class: none
Feb 26 18:06:28 jsynacek-home kernel:         internal class: boot
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 14900 vddc: 900 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status: c b
Feb 26 18:06:28 jsynacek-home kernel: switching to power state:
Feb 26 18:06:28 jsynacek-home kernel:         ui class: performance
Feb 26 18:06:28 jsynacek-home kernel:         internal class: none
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 40000 mclk: 110000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 73000 mclk: 110000 vddc: 1100 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 3    sclk: 78000 mclk: 110000 vddc: 1150 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status: r
Feb 26 18:06:28 jsynacek-home kernel: [drm] fb mappable at 0xE05E1000
Feb 26 18:06:28 jsynacek-home kernel: [drm] vram apper at 0xE0000000
Feb 26 18:06:28 jsynacek-home kernel: [drm] size 9216000
Feb 26 18:06:28 jsynacek-home kernel: [drm] fb depth is 24
Feb 26 18:06:28 jsynacek-home kernel: [drm]    pitch is 7680
Feb 26 18:06:28 jsynacek-home kernel: fbcon: radeondrmfb (fb0) is primary device
Feb 26 18:06:28 jsynacek-home kernel: switching from power state:
Feb 26 18:06:28 jsynacek-home kernel:         ui class: performance
Feb 26 18:06:28 jsynacek-home kernel:         internal class: none
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 40000 mclk: 110000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 73000 mclk: 110000 vddc: 1100 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 3    sclk: 78000 mclk: 110000 vddc: 1150 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status: c r
Feb 26 18:06:28 jsynacek-home kernel: switching to power state:
Feb 26 18:06:28 jsynacek-home kernel:         ui class: performance
Feb 26 18:06:28 jsynacek-home kernel:         internal class: none
Feb 26 18:06:28 jsynacek-home kernel:         caps:
Feb 26 18:06:28 jsynacek-home kernel:         uvd    vclk: 0 dclk: 0
Feb 26 18:06:28 jsynacek-home kernel:                 power level 0    sclk: 30000 mclk: 15000 vddc: 800 vddci: 800 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 1    sclk: 40000 mclk: 110000 vddc: 900 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 2    sclk: 73000 mclk: 110000 vddc: 1100 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:                 power level 3    sclk: 78000 mclk: 110000 vddc: 1150 vddci: 950 pcie gen: 3
Feb 26 18:06:28 jsynacek-home kernel:         status: c r
...

Offline

Board footer

Powered by FluxBB