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