[AMD Official Use Only - AMD Internal Distribution Only]

 Hi Alex,

> -----Original Message-----
> From: Alex Deucher <[email protected]>
> Sent: Friday, February 6, 2026 5:37 AM
> To: Yuan, Perry <[email protected]>
> Cc: Deucher, Alexander <[email protected]>; amd-
> [email protected]; Zhang, Yifan <[email protected]>
> Subject: Re: [PATCH 07/22] Documentation/amdgpu: Add documentation for Peak
> Tops Limiter (PTL) sysfs interface
>
> 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

Could we retain the current 'enabled' and 'disabled' states?  While they may 
not be ideal, changing them would break compatibility with the amd-smi tool 
that already has been released to user.


Thanks.
Perry.

>
> > +
> > +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