On Thu, Feb 5, 2026 at 11:57 AM Perry Yuan <[email protected]> wrote:
>
> The PTL (Peak Tops Limiter) feature exposes per-GPU sysfs files under
> /sys/class/drm/cardX/device/ptl/ to allow users to enable or disable PTL,
> configure preferred data formats, and query supported formats. The usage
> of these sysfs files is not always obvious, so add documentation to
> describe their purpose and provide concrete usage examples.
>
> V3 changes:
>  * format show will display preferred formats instead of N/A (Alex)
>
> Signed-off-by: Perry Yuan <[email protected]>
> Suggested-by: Alex Deucher <[email protected]>
> Reviewed-by: Yifan Zhang <[email protected]>
> ---
>  Documentation/gpu/amdgpu/index.rst |  1 +
>  Documentation/gpu/amdgpu/ptl.rst   | 94 ++++++++++++++++++++++++++++++
>  2 files changed, 95 insertions(+)
>  create mode 100644 Documentation/gpu/amdgpu/ptl.rst
>
> diff --git a/Documentation/gpu/amdgpu/index.rst 
> b/Documentation/gpu/amdgpu/index.rst
> index 8732084186a4..b2ab182236ef 100644
> --- a/Documentation/gpu/amdgpu/index.rst
> +++ b/Documentation/gpu/amdgpu/index.rst
> @@ -23,3 +23,4 @@ Next (GCN), Radeon DNA (RDNA), and Compute DNA (CDNA) 
> architectures.
>     debugfs
>     process-isolation
>     amdgpu-glossary
> +   ptl
> diff --git a/Documentation/gpu/amdgpu/ptl.rst 
> b/Documentation/gpu/amdgpu/ptl.rst
> new file mode 100644
> index 000000000000..c7f16dea7954
> --- /dev/null
> +++ b/Documentation/gpu/amdgpu/ptl.rst
> @@ -0,0 +1,94 @@
> +=======================================
> +Peak Tops Limiter (PTL) sysfs Interface
> +=======================================
> +
> +Overview
> +--------
> +The Peak Tops Limiter (PTL) sysfs interface enables users to control and
> +configure the PTL feature for each GPU individually.  All PTL-related
> +sysfs files are located under `/sys/class/drm/cardX/device/ptl/`, where
> +`X` is the GPU index.  Through these files, users can enable or disable
> +PTL, set preferred data formats, and query supported formats for each GPU.
> +
> +PTL sysfs files
> +----------------
> +The following files are available under `/sys/class/drm/cardX/device/ptl/`:
> +
> +- `ptl_enable`
> +- `ptl_format`
> +- `ptl_supported_formats`
> +
> +PTL Enable/Disable
> +------------------
> +File: `ptl_enable`
> +Type: Read/Write (rw)
> +
> +Read: Returns the current PTL status as a string: `enabled` if PTL
> +is active, or `disabled` if inactive.
> +
> +Write:
> +
> +- Write `1` or `enabled` to enable PTL
> +- Write `0` or `disabled` to disable PTL

Ideally `enable` or `disable`, I.e., drop the "d".

Alex

> +
> +Examples::
> +
> +    # Query PTL status
> +    cat /sys/class/drm/card1/device/ptl/ptl_enable
> +    # Output: enabled
> +
> +    # Enable PTL
> +    sudo bash -c "echo 1 > /sys/class/drm/card1/device/ptl/ptl_enable"
> +
> +    # Disable PTL
> +    sudo bash -c "echo 0 > /sys/class/drm/card1/device/ptl/ptl_enable"
> +
> +PTL Format (Preferred Data Formats)
> +-----------------------------------
> +File: `ptl_format`
> +Type: Read/Write (rw)
> +
> +Read: Returns the two preferred formats, e.g. `I8,F32`.
> +
> +Write: Accepts two formats separated by a comma, e.g. `I8,F32`.
> +
> +- Both formats must be supported and different.
> +- If an invalid format is provided (not supported, or both formats are the
> +  same), the driver will return "write error: Invalid argument".
> +
> +Examples::
> +
> +    # Query PTL formats
> +    cat /sys/class/drm/card1/device/ptl/ptl_format
> +    # Output: I8,F32
> +
> +    # Set PTL formats
> +    sudo bash -c "echo I8,F32 > /sys/class/drm/card1/device/ptl/ptl_format"
> +
> +Supported Formats
> +-----------------
> +File: `ptl_supported_formats`
> +Type: Read-only (r)
> +
> +Read: Returns a comma-separated list of supported formats, e.g.
> +`I8,F16,BF16,F32,F64`.
> +
> +Example::
> +
> +    # Check supported formats
> +    cat /sys/class/drm/card1/device/ptl/ptl_supported_formats
> +    # Output: I8,F16,BF16,F32,F64
> +
> +Behavioral Notes
> +----------------
> +- PTL formats can only be set when PTL is enabled.
> +- If PTL is disabled, `ptl_format` returns `N/A`.
> +- Only two formats can be set at a time, and they must be from the supported 
> set and different..
> +- All commands support per-GPU targeting.
> +- Root permission is required to enable/disable PTL or change formats.
> +- If the hardware does not support PTL, the PTL sysfs directory will not
> +  be created.
> +
> +Implementation
> +--------------
> +The PTL sysfs nodes are implemented in 
> `drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c`.
> --
> 2.34.1
>

Reply via email to