Commit 5946dbe1 authored by Yo-Jung Leo Lin (AMD)'s avatar Yo-Jung Leo Lin (AMD) Committed by Alex Deucher
Browse files

Documentation/amdgpu: Add UMA carveout details



Add documentation for the uma/carveout_options and uma/carveout
attributes in sysfs

Reviewed-by: default avatarMario Limonciello (AMD) <superm1@kernel.org>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarYo-Jung Leo Lin (AMD) <Leo.Lin@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 19ba61ac
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -128,3 +128,29 @@ smartshift_bias

.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
   :doc: smartshift_bias

UMA Carveout
============

Some versions of Atom ROM expose available options for the VRAM carveout sizes,
and allow changes to the carveout size via the ATCS function code 0xA on supported
BIOS implementations.

For those platforms, users can use the following files under uma/ to set the
carveout size, in a way similar to what Windows users can do in the "Tuning"
tab in AMD Adrenalin.

Note that for BIOS implementations that don't support this, these files will not
be created at all.

uma/carveout_options
--------------------

.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
   :doc: uma/carveout_options

uma/carveout
--------------------

.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
   :doc: uma/carveout
+29 −0
Original line number Diff line number Diff line
@@ -382,6 +382,24 @@ static const struct attribute_group amdgpu_board_attrs_group = {
	.is_visible = amdgpu_board_attrs_is_visible
};

/**
 * DOC: uma/carveout_options
 *
 * This is a read-only file that lists all available UMA allocation
 * options and their corresponding indices. Example output::
 *
 *     $ cat uma/carveout_options
 *     0: Minimum (512 MB)
 *     1:  (1 GB)
 *     2:  (2 GB)
 *     3:  (4 GB)
 *     4:  (6 GB)
 *     5:  (8 GB)
 *     6:  (12 GB)
 *     7: Medium (16 GB)
 *     8:  (24 GB)
 *     9: High (32 GB)
 */
static ssize_t carveout_options_show(struct device *dev,
				     struct device_attribute *attr,
				     char *buf)
@@ -414,6 +432,17 @@ static ssize_t carveout_options_show(struct device *dev,
}
static DEVICE_ATTR_RO(carveout_options);

/**
 * DOC: uma/carveout
 *
 * This file is both readable and writable. When read, it shows the
 * index of the current setting. Writing a valid index to this file
 * allows users to change the UMA carveout size to the selected option
 * on the next boot.
 *
 * The available options and their corresponding indices can be read
 * from the uma/carveout_options file.
 */
static ssize_t carveout_show(struct device *dev,
			     struct device_attribute *attr,
			     char *buf)