€•‰DŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ"/translations/zh_CN/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/zh_TW/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/it_IT/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ja_JP/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ko_KR/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/pt_BR/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/sp_SP/gpu/amdgpu/ptl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ'Peak Tops Limiter (PTL) sysfs Interface”h]”hŒ'Peak Tops Limiter (PTL) sysfs Interface”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œ /sys/class/drm/card1/device/ptl/ptl_enable" # Disable PTL sudo bash -c "echo 0 > /sys/class/drm/card1/device/ptl/ptl_enable"”h]”hŒö# 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"”…””}”hjÄsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jÂh³hÊh´K$hjÃh²hubeh}”(h]”Œptl-enable-disable”ah ]”h"]”Œptl enable/disable”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒ#PTL Format (Preferred Data Formats)”h]”hŒ#PTL Format (Preferred Data Formats)”…””}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÜh²hh³hÊh´K/ubhÝ)”}”(hŒ(File: `ptl_format` Type: Read/Write (rw)”h]”(hŒFile: ”…””}”(hjíh²hh³Nh´Nubhç)”}”(hŒ `ptl_format`”h]”hŒ ptl_format”…””}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjíubhŒ Type: Read/Write (rw)”…””}”(hjíh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K0hjÜh²hubhÝ)”}”(hŒ7Read: Returns the two preferred formats, e.g. `I8,F32`.”h]”(hŒ.Read: Returns the two preferred formats, e.g. ”…””}”(hj h²hh³Nh´Nubhç)”}”(hŒ`I8,F32`”h]”hŒI8,F32”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj ubhŒ.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K3hjÜh²hubhÝ)”}”(hŒ?Write: Accepts two formats separated by a comma, e.g. `I8,F32`.”h]”(hŒ6Write: Accepts two formats separated by a comma, e.g. ”…””}”(hj-h²hh³Nh´Nubhç)”}”(hŒ`I8,F32`”h]”hŒI8,F32”…””}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhj-ubhŒ.”…””}”(hj-h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K5hjÜh²hubjL)”}”(hhh]”(jQ)”}”(hŒ-Both formats must be supported and different.”h]”hÝ)”}”(hjRh]”hŒ-Both formats must be supported and different.”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K7hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjMh²hh³hÊh´NubjQ)”}”(hŒˆIf an invalid format is provided (not supported, or both formats are the same), the driver will return "write error: Invalid argument". ”h]”hÝ)”}”(hŒ‡If an invalid format is provided (not supported, or both formats are the same), the driver will return "write error: Invalid argument".”h]”hŒ‹If an invalid format is provided (not supported, or both formats are the same), the driver will return “write error: Invalid argumentâ€.”…””}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K8hjgubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjMh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”j¹jºuh1jKh³hÊh´K7hjÜh²hubhÝ)”}”(hŒ Examples::”h]”hŒ Examples:”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K;hjÜh²hubjÃ)”}”(hŒ®# 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"”h]”hŒ®# 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"”…””}”hj“sbah}”(h]”h ]”h"]”h$]”h&]”jÒjÓuh1jÂh³hÊh´K=hjÜh²hubeh}”(h]”Œ!ptl-format-preferred-data-formats”ah ]”h"]”Œ#ptl format (preferred data formats)”ah$]”h&]”uh1hµhh·h²hh³hÊh´K/ubh¶)”}”(hhh]”(h»)”}”(hŒSupported Formats”h]”hŒSupported Formats”…””}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj©h²hh³hÊh´KEubhÝ)”}”(hŒ1File: `ptl_supported_formats` Type: Read-only (r)”h]”(hŒFile: ”…””}”(hjºh²hh³Nh´Nubhç)”}”(hŒ`ptl_supported_formats`”h]”hŒptl_supported_formats”…””}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjºubhŒ Type: Read-only (r)”…””}”(hjºh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KFhj©h²hubhÝ)”}”(hŒVRead: Returns a comma-separated list of supported formats, e.g. `I8,F16,BF16,F32,F64`.”h]”(hŒ@Read: Returns a comma-separated list of supported formats, e.g. ”…””}”(hjÚh²hh³Nh´Nubhç)”}”(hŒ`I8,F16,BF16,F32,F64`”h]”hŒI8,F16,BF16,F32,F64”…””}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjÚubhŒ.”…””}”(hjÚh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KIhj©h²hubhÝ)”}”(hŒ Example::”h]”hŒExample:”…””}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KLhj©h²hubjÃ)”}”(hŒq# Check supported formats cat /sys/class/drm/card1/device/ptl/ptl_supported_formats # Output: I8,F16,BF16,F32,F64”h]”hŒq# Check supported formats cat /sys/class/drm/card1/device/ptl/ptl_supported_formats # Output: I8,F16,BF16,F32,F64”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”jÒjÓuh1jÂh³hÊh´KNhj©h²hubeh}”(h]”Œsupported-formats”ah ]”h"]”Œsupported formats”ah$]”h&]”uh1hµhh·h²hh³hÊh´KEubh¶)”}”(hhh]”(h»)”}”(hŒBehavioral Notes”h]”hŒBehavioral Notes”…””}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjh²hh³hÊh´KSubjL)”}”(hhh]”(jQ)”}”(hŒ0PTL formats can only be set when PTL is enabled.”h]”hÝ)”}”(hj4h]”hŒ0PTL formats can only be set when PTL is enabled.”…””}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KThj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´NubjQ)”}”(hŒ/If PTL is disabled, `ptl_format` returns `N/A`.”h]”hÝ)”}”(hjKh]”(hŒIf PTL is disabled, ”…””}”(hjMh²hh³Nh´Nubhç)”}”(hŒ `ptl_format`”h]”hŒ ptl_format”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjMubhŒ returns ”…””}”(hjMh²hh³Nh´Nubhç)”}”(hŒ`N/A`”h]”hŒN/A”…””}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjMubhŒ.”…””}”(hjMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KUhjIubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´NubjQ)”}”(hŒ^Only two formats can be set at a time, and they must be from the supported set and different..”h]”hÝ)”}”(hj†h]”hŒ^Only two formats can be set at a time, and they must be from the supported set and different..”…””}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KVhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´NubjQ)”}”(hŒ'All commands support per-GPU targeting.”h]”hÝ)”}”(hjh]”hŒ'All commands support per-GPU targeting.”…””}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KWhj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´NubjQ)”}”(hŒDRoot permission is required to enable/disable PTL or change formats.”h]”hÝ)”}”(hj´h]”hŒDRoot permission is required to enable/disable PTL or change formats.”…””}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KXhj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´NubjQ)”}”(hŒSIf the hardware does not support PTL, the PTL sysfs directory will not be created. ”h]”hÝ)”}”(hŒRIf the hardware does not support PTL, the PTL sysfs directory will not be created.”h]”hŒRIf the hardware does not support PTL, the PTL sysfs directory will not be created.”…””}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´KYhjÉubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhj/h²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”j¹jºuh1jKh³hÊh´KThjh²hubeh}”(h]”Œbehavioral-notes”ah ]”h"]”Œbehavioral notes”ah$]”h&]”uh1hµhh·h²hh³hÊh´KSubh¶)”}”(hhh]”(h»)”}”(hŒImplementation”h]”hŒImplementation”…””}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjïh²hh³hÊh´K]ubhÝ)”}”(hŒQThe PTL sysfs nodes are implemented in `drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c`.”h]”(hŒ'The PTL sysfs nodes are implemented in ”…””}”(hjh²hh³Nh´Nubhç)”}”(hŒ)`drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c`”h]”hŒ'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hæhjubhŒ.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÜh³hÊh´K^hjïh²hubeh}”(h]”Œimplementation”ah ]”h"]”Œimplementation”ah$]”h&]”uh1hµhh·h²hh³hÊh´K]ubeh}”(h]”Œ%peak-tops-limiter-ptl-sysfs-interface”ah ]”h"]”Œ'peak tops limiter (ptl) sysfs interface”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jSŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j-j*jjjÀj½jÙjÖj¦j£jjjìjéj%j"uŒ nametypes”}”(j-‰j‰jÀ‰jÙ‰j¦‰j‰jì‰j%‰uh}”(j*h·jhËj½jjÖjÃj£jÜjj©jéjj"jïuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.