VAsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget%/translations/zh_CN/gpu/xe/xe_gt_freqmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/zh_TW/gpu/xe/xe_gt_freqmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/it_IT/gpu/xe/xe_gt_freqmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ja_JP/gpu/xe/xe_gt_freqmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/ko_KR/gpu/xe/xe_gt_freqmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget%/translations/sp_SP/gpu/xe/xe_gt_freqmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h*SPDX-License-Identifier: (GPL-2.0+ OR MIT)h]h*SPDX-License-Identifier: (GPL-2.0+ OR MIT)}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh?/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq.rsthKubhsection)}(hhh](htitle)}(hXe GT Frequency Managementh]hXe GT Frequency Management}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(h[This component is responsible for the raw GT frequency management, including the sysfs API.h]h[This component is responsible for the raw GT frequency management, including the sysfs API.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chKhhhhubh)}(hXVUnderneath, Xe enables GuC SLPC automated frequency management. GuC is then allowed to request PCODE any frequency between the Minimum and the Maximum selected by this component. Furthermore, it is important to highlight that PCODE is the ultimate decision maker of the actual running frequency, based on thermal and other running conditions.h]hXVUnderneath, Xe enables GuC SLPC automated frequency management. GuC is then allowed to request PCODE any frequency between the Minimum and the Maximum selected by this component. Furthermore, it is important to highlight that PCODE is the ultimate decision maker of the actual running frequency, based on thermal and other running conditions.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chKhhhhubh)}(h8Xe's Freq provides a sysfs API for frequency management:h]h:Xe’s Freq provides a sysfs API for frequency management:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chKhhhhubh)}(h5device/tile#/gt#/freq0/_freq *read-only* files:h](h#device/tile#/gt#/freq0/_freq }(hhhhhNhNubhemphasis)}(h *read-only*h]h read-only}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhubh files:}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK hhhhubh bullet_list)}(hhh](h list_item)}(h9act_freq: The actual resolved frequency decided by PCODE.h]h)}(hj$h]h9act_freq: The actual resolved frequency decided by PCODE.}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK"hj"ubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(h;cur_freq: The current one requested by GuC PC to the PCODE.h]h)}(hj<h]h;cur_freq: The current one requested by GuC PC to the PCODE.}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK#hj:ubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(hHrpn_freq: The Render Performance (RP) N level, which is the minimal one.h]h)}(hjTh]hHrpn_freq: The Render Performance (RP) N level, which is the minimal one.}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK$hjRubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(hrpa_freq: The Render Performance (RP) A level, which is the achiveable one. Calculated by PCODE at runtime based on multiple running conditionsh]h)}(hrpa_freq: The Render Performance (RP) A level, which is the achiveable one. Calculated by PCODE at runtime based on multiple running conditionsh]hrpa_freq: The Render Performance (RP) A level, which is the achiveable one. Calculated by PCODE at runtime based on multiple running conditions}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK%hjjubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(hrpe_freq: The Render Performance (RP) E level, which is the efficient one. Calculated by PCODE at runtime based on multiple running conditionsh]h)}(hrpe_freq: The Render Performance (RP) E level, which is the efficient one. Calculated by PCODE at runtime based on multiple running conditionsh]hrpe_freq: The Render Performance (RP) E level, which is the efficient one. Calculated by PCODE at runtime based on multiple running conditions}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK'hjubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(hIrp0_freq: The Render Performance (RP) 0 level, which is the maximum one. h]h)}(hHrp0_freq: The Render Performance (RP) 0 level, which is the maximum one.h]hHrp0_freq: The Render Performance (RP) 0 level, which is the maximum one.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK)hjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]bullet-uh1jhj3hK"hhhhubh)}(h6device/tile#/gt#/freq0/_freq *read-write* files:h](h#device/tile#/gt#/freq0/_freq }(hjhhhNhNubj)}(h *read-write*h]h read-write}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh files:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK+hhhhubj)}(hhh](j!)}(h min_freq: Min frequency request.h]h)}(hjh]h min_freq: Min frequency request.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK-hjubah}(h]h ]h"]h$]h&]uh1j hjubj!)}(hlmax_freq: Max frequency request. If max <= min, then freq_min becomes a fixed frequency request. h]hdefinition_list)}(hhh]hdefinition_list_item)}(hbmax_freq: Max frequency request. If max <= min, then freq_min becomes a fixed frequency request. h](hterm)}(h max_freq: Max frequency request.h]h max_freq: Max frequency request.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK0hjubh definition)}(hhh]h)}(h?If max <= min, then freq_min becomes a fixed frequency request.h]h?If max <= min, then freq_min becomes a fixed frequency request.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh`/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:7: ./drivers/gpu/drm/xe/xe_gt_freq.chK/hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK0hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j hjubeh}(h]h ]h"]h$]h&]jjuh1jhjhK-hhhhubh)}(hhh](h)}(h Internal APIh]h Internal API}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKhhhhhK ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlexe_gt_freq_init (C function)c.xe_gt_freq_inithNtauh1j\hjKhhhNhNubhdesc)}(hhh](hdesc_signature)}(h&int xe_gt_freq_init (struct xe_gt *gt)h]hdesc_signature_line)}(h%int xe_gt_freq_init(struct xe_gt *gt)h](hdesc_sig_keyword_type)}(hinth]hint}(hjhhhNhNubah}(h]h ]ktah"]h$]h&]uh1j~hjzhhha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjzhhhjhKubh desc_name)}(hxe_gt_freq_inith]h desc_sig_name)}(hxe_gt_freq_inith]hxe_gt_freq_init}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjzhhhjhKubhdesc_parameterlist)}(h(struct xe_gt *gt)h]hdesc_parameter)}(hstruct xe_gt *gth](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hxe_gth]hxe_gt}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j  ASTIdentifier)}jjsbc.xe_gt_freq_initasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubhdesc_sig_punctuation)}(h*h]h*}(hj'hhhNhNubah}(h]h ]pah"]h$]h&]uh1j%hjubj)}(hgth]hgt}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjzhhhjhKubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jxsphinx_line_type declaratorhjthhhjhKubah}(h]jkah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jrhjhKhjohhubh desc_content)}(hhh]h)}(hInitialize Xe Freq componenth]hInitialize Xe Freq component}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKhjghhubah}(h]h ]h"]h$]h&]uh1jehjohhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1jmhhhjKhNhNubh container)}(h**Parameters** ``struct xe_gt *gt`` Xe GT object **Description** It needs to be initialized after GT Sysfs and GuC PC components are ready. **Return** Returns error value for failure and 0 for success.h](h)}(h**Parameters**h]hstrong)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKhjubj)}(hhh]j)}(h"``struct xe_gt *gt`` Xe GT object h](j )}(h``struct xe_gt *gt``h]hliteral)}(hjh]hstruct xe_gt *gt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKhjubj)}(hhh]h)}(h Xe GT objecth]h Xe GT object}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKhjubh)}(hJIt needs to be initialized after GT Sysfs and GuC PC components are ready.h]hJIt needs to be initialized after GT Sysfs and GuC PC components are ready.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chKhjubh)}(h **Return**h]j)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chMhjubh)}(h2Returns error value for failure and 0 for success.h]h2Returns error value for failure and 0 for success.}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hha/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_gt_freq:13: ./drivers/gpu/drm/xe/xe_gt_freq.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjKhhhNhNubeh}(h] internal-apiah ]h"] internal apiah$]h&]uh1hhhhhhhhK ubeh}(h]xe-gt-frequency-managementah ]h"]xe gt frequency managementah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjxerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jRjOjJjGu nametypes}(jRjJuh}(jOhjGjKjkjtu footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.