Picasso: DPM performance level "auto" leaves SCLK at minimum, capping fullscreen apps at 30 fps
This is about Picasso (Ryzen 7 3700U) in a Lenovo Thinkpad E595.
I tracked down fullscreen apps (e.g. armagetronad
or gravit
) being capped to 30 fps (with 60 Hz refresh rate) to the SCLK staying at the minimum (similar to #157 (closed)):
/sys/devices/pci0000:00/0000:00:08.1/0000:05:00.0/pp_dpm_sclk
::::::::::::::
0: 200Mhz *
1: 700Mhz
2: 1400Mhz
This is with sync-to-vblank enabled; with that disabled, the clock ramps up and the apps above run at almost 1000 / >100 fps respectively.
As a workaround, I'm currently enabling manual control:
sudo sh -c "echo manual >/sys/devices/pci*/*/*/power_dpm_force_performance_level"
And either disabling the lowest SCLK state:
sudo sh -c "echo '1 2' >/sys/devices/pci*/*/*/pp_dpm_sclk"
Or setting the "VR" profile (which scales SCLK nicely even with the minimum SCLK state enabled, but locks MCLK to the maximum 1200 MHz):
sudo sh -c "echo 4 >/sys/devices/pci*/*/*/pp_power_profile_mode"
drm/amdgpu dmesg output
May 18 10:53:38 thor kernel: [drm] amdgpu kernel modesetting enabled.
May 18 10:53:38 thor kernel: Parsing CRAT table with 1 nodes
May 18 10:53:38 thor kernel: Creating topology SYSFS entries
May 18 10:53:38 thor kernel: Topology: Add APU node [0x0:0x0]
May 18 10:53:38 thor kernel: Finished initializing topology
May 18 10:53:38 thor kernel: checking generic (c0000000 8d0000) vs hw (c0000000 10000000)
May 18 10:53:38 thor kernel: fb0: switching to amdgpudrmfb from EFI VGA
May 18 10:53:38 thor kernel: Console: switching to colour dummy device 80x25
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: vgaarb: deactivate vga console
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: enabling device (0006 -> 0007)
May 18 10:53:38 thor kernel: [drm] initializing kernel modesetting (RAVEN 0x1002:0x15D8 0x17AA:0x5124 0xC1).
May 18 10:53:38 thor kernel: [drm] register mmio base: 0xD0500000
May 18 10:53:38 thor kernel: [drm] register mmio size: 524288
May 18 10:53:38 thor kernel: [drm] add ip block number 0
May 18 10:53:38 thor kernel: [drm] add ip block number 1
May 18 10:53:38 thor kernel: [drm] add ip block number 2
May 18 10:53:38 thor kernel: [drm] add ip block number 3
May 18 10:53:38 thor kernel: [drm] add ip block number 4
May 18 10:53:38 thor kernel: [drm] add ip block number 5
May 18 10:53:38 thor kernel: [drm] add ip block number 6
May 18 10:53:38 thor kernel: [drm] add ip block number 7
May 18 10:53:38 thor kernel: [drm] add ip block number 8
May 18 10:53:38 thor kernel: ATOM BIOS: 113-PICASSO-114
May 18 10:53:38 thor kernel: [drm] VCN decode is enabled in VM mode
May 18 10:53:38 thor kernel: [drm] VCN encode is enabled in VM mode
May 18 10:53:38 thor kernel: [drm] JPEG decode is enabled in VM mode
May 18 10:53:38 thor kernel: [drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: VRAM: 2048M 0x000000F400000000 - 0x000000F47FFFFFFF (2048M used)
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: AGP: 267419648M 0x000000F800000000 - 0x0000FFFFFFFFFFFF
May 18 10:53:38 thor kernel: [drm] Detected VRAM RAM=2048M, BAR=2048M
May 18 10:53:38 thor kernel: [drm] RAM width 64bits DDR4
May 18 10:53:38 thor kernel: [TTM] Zone kernel: Available graphics memory: 7134772 KiB
May 18 10:53:38 thor kernel: [TTM] Zone dma32: Available graphics memory: 2097152 KiB
May 18 10:53:38 thor kernel: [TTM] Initializing pool allocator
May 18 10:53:38 thor kernel: [TTM] Initializing DMA pool allocator
May 18 10:53:38 thor kernel: [drm] amdgpu: 2048M of VRAM memory ready
May 18 10:53:38 thor kernel: [drm] amdgpu: 3072M of GTT memory ready.
May 18 10:53:38 thor kernel: [drm] GART: num cpu pages 262144, num gpu pages 262144
May 18 10:53:38 thor kernel: [drm] PCIE GART of 1024M enabled (table at 0x000000F400900000).
May 18 10:53:38 thor kernel: [drm] use_doorbell being set to: [true]
May 18 10:53:38 thor kernel: amdgpu: [powerplay] hwmgr_sw_init smu backed is smu10_smu
May 18 10:53:38 thor kernel: [drm] Found VCN firmware Version ENC: 1.9 DEC: 1 VEP: 0 Revision: 28
May 18 10:53:38 thor kernel: [drm] PSP loading VCN firmware
May 18 10:53:38 thor kernel: [drm] reserve 0x400000 from 0xf47f800000 for PSP TMR
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: RAS: optional ras ta ucode is not available
May 18 10:53:38 thor kernel: [drm] kiq ring mec 2 pipe 1 q 0
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: values for F clock
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 400000 in kHz, 2749 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 933000 in kHz, 3224 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 1067000 in kHz, 3924 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 1200000 in kHz, 4074 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: values for DCF clock
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 300000 in kHz, 2749 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 600000 in kHz, 3224 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 626000 in kHz, 3924 in mV
May 18 10:53:38 thor kernel: [drm] DM_PPLIB: 654000 in kHz, 4074 in mV
May 18 10:53:38 thor kernel: [drm] Display Core initialized with v3.2.76!
May 18 10:53:38 thor kernel: [drm] DM_MST: Differing MST start on aconnector: 00000000a31e11b4 [id: 77]
May 18 10:53:38 thor kernel: [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
May 18 10:53:38 thor kernel: [drm] VCN decode and encode initialized successfully(under DPG Mode).
May 18 10:53:38 thor kernel: kfd kfd: Allocated 3969056 bytes on gart
May 18 10:53:38 thor kernel: Topology: Add APU node [0x15d8:0x1002]
May 18 10:53:38 thor kernel: kfd kfd: added device 1002:15d8
May 18 10:53:38 thor kernel: [drm] fb mappable at 0x3BFBC1000
May 18 10:53:38 thor kernel: [drm] vram apper at 0x3BF000000
May 18 10:53:38 thor kernel: [drm] size 8294400
May 18 10:53:38 thor kernel: [drm] fb depth is 24
May 18 10:53:38 thor kernel: [drm] pitch is 7680
May 18 10:53:38 thor kernel: fbcon: amdgpudrmfb (fb0) is primary device
May 18 10:53:38 thor kernel: Console: switching to colour frame buffer device 192x60
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: fb0: amdgpudrmfb frame buffer device
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring gfx uses VM inv eng 0 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.0.0 uses VM inv eng 1 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.1.0 uses VM inv eng 4 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.2.0 uses VM inv eng 5 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.3.0 uses VM inv eng 6 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.0.1 uses VM inv eng 7 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.1.1 uses VM inv eng 8 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.2.1 uses VM inv eng 9 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring comp_1.3.1 uses VM inv eng 10 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring kiq_2.1.0 uses VM inv eng 11 on hub 0
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring sdma0 uses VM inv eng 0 on hub 1
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring vcn_dec uses VM inv eng 1 on hub 1
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring vcn_enc0 uses VM inv eng 4 on hub 1
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring vcn_enc1 uses VM inv eng 5 on hub 1
May 18 10:53:38 thor kernel: amdgpu 0000:05:00.0: ring jpeg_dec uses VM inv eng 6 on hub 1
May 18 10:53:38 thor kernel: [drm] Initialized amdgpu 3.37.0 20150101 for 0000:05:00.0 on minor 0