The integrated info v2.3 table in the Atom ROM exposes available options for the VRAM carveout sizes. The carveout size can be changed using the ATCS function code 0xA for BIOS that supports this.
Make these features available as sysfs files, so that users can set the carveout size in a way similar to what a Windows user can do in the "Tuning" tab in the AMD Adrenalin. The newly added sysfs files are: - uma_carveout_options: this a read-only file listing all available carveout options. They are fetched from the Atom ROM on driver initialization. - uma_carveout: this shows the index of the currently selected option, as shown in the uma_carveout_options. Writing a valid option index to this file will change the carveout option on next boot. Note that above files are created only if BIOS indicates support for it, i.e. where the table shows non-zero UMACarveoutIndexMax. Signed-off-by: Yo-Jung Leo Lin (AMD) <[email protected]> --- Changes in v2: - Move VBIOS table parsing and sysfs interface creation from atomfirmware initialization code to amdgpu_acpi_init() - Create structs that abstract the uma options - Move the parsed carveout options from atom_context to the amdgpu_atcs - Minor kdoc fixes, as well as adding example output for uma_carveout_options - Link to v1: https://lore.kernel.org/r/20251103-vram-carveout-tuning-for-upstream-v1-0-17e2a7263...@amd.com --- Yo-Jung Leo Lin (AMD) (5): drm/amdgpu: parse UMA size-getting/setting bits in ATCS mask drm/amdgpu: add helper to read UMA carveout info drm/amdgpu: add UMA allocation setting helpers drm/amdgpu: add UMA allocation interfaces to sysfs Documentation/amdgpu: Add UMA carveout details Documentation/gpu/amdgpu/driver-misc.rst | 26 +++ drivers/gpu/drm/amd/amdgpu/amdgpu.h | 39 +++++ drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 205 +++++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c | 73 ++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.h | 2 + drivers/gpu/drm/amd/include/amd_acpi.h | 34 +++- 6 files changed, 378 insertions(+), 1 deletion(-) --- base-commit: ac9914fa72a5a917bb61c5e87bee6b8f9b751f33 change-id: 20251103-vram-carveout-tuning-for-upstream-1d5189688d73 Best regards, -- Yo-Jung Leo Lin (AMD) <[email protected]>
