RX7900XTX: pp_table larger than 4096 bytes
Brief summary of the problem:
Trying to analyze and possibly tweak the powerplay table on a RX7900XTX (Navi 31), I found that the pp_table attribute in the upstream amdgpu driver in sysfs does only output the first 4095 of the table. However the table has 4804 bytes in reality, so it can neither be fully read nor tweaked via sysfs. The pp_table file would need to be created as binary file in sysfs to support a larger size. It also is binary in nature ...
Hardware description:
- CPU: Zen3
- GPU: 05:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Device [1002:744c] (rev c8) (prog-if 00 [VGA controller]) Subsystem: Sapphire Technology Limited Device [1da2:471e]
- Display(s): None (GPU used for compute)
System information:
- openSUSE 15.5
- Kernel version: 6.5.8
- AMD driver version: Upstream kernel 6.5.8, Mesa 23.2.1, ROCm 5.7.1
How to reproduce the issue:
- Load the upstream amdgpu kernel driver on a Navi31 card
- Read /sys/class/drm/card1/device/pp_table (This may be card0 on your system.)
- It's truncated after the first 4095 bytes (one page minus an assumed \0), but should have 4804 bytes.
Edited by Kurt Garloff