€•s‘Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œ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/intel-display/drrs”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒSPDX-License-Identifier: MIT”h]”hŒSPDX-License-Identifier: MIT”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒD/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs.rst”h´Kubh¶)�”}”(hŒ#Copyright © 2026 Intel Corporation”h]”hŒ#Copyright © 2026 Intel Corporation”…”�”}”hhÈsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1hµhhh²hh³hÇh´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ%Display Refresh Rate Switching (DRRS)”h]”hŒ%Display Refresh Rate Switching (DRRS)”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒÚDisplay Refresh Rate Switching (DRRS) is a power conservation feature which enables swtching between low and high refresh rates, dynamically, based on the usage scenario. This feature is applicable for internal panels.”h]”hŒÚDisplay Refresh Rate Switching (DRRS) is a power conservation feature which enables swtching between low and high refresh rates, dynamically, based on the usage scenario. This feature is applicable for internal panels.”…”�”}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´KhhØh²hubhì)�”}”(hŒIndication that the panel supports DRRS is given by the panel EDID, which would list multiple refresh rates for one resolution.”h]”hŒIndication that the panel supports DRRS is given by the panel EDID, which would list multiple refresh rates for one resolution.”…”�”}”(hhüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´KhhØh²hubhì)�”}”(hX\DRRS is of 2 types - static and seamless. Static DRRS involves changing refresh rate (RR) by doing a full modeset (may appear as a blink on screen) and is used in dock-undock scenario. Seamless DRRS involves changing RR without any visual effect to the user and can be used during normal system usage. This is done by programming certain registers.”h]”hX\DRRS is of 2 types - static and seamless. Static DRRS involves changing refresh rate (RR) by doing a full modeset (may appear as a blink on screen) and is used in dock-undock scenario. Seamless DRRS involves changing RR without any visual effect to the user and can be used during normal system usage. This is done by programming certain registers.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´KhhØh²hubhì)�”}”(hŒaSupport for static/seamless DRRS may be indicated in the VBT based on inputs from the panel spec.”h]”hŒaSupport for static/seamless DRRS may be indicated in the VBT based on inputs from the panel spec.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K"hhØh²hubhì)�”}”(hŒADRRS saves power by switching to low RR based on usage scenarios.”h]”hŒADRRS saves power by switching to low RR based on usage scenarios.”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K%hhØh²hubhì)�”}”(hX4The implementation is based on frontbuffer tracking implementation. When there is a disturbance on the screen triggered by user activity or a periodic system activity, DRRS is disabled (RR is changed to high RR). When there is no movement on screen, after a timeout of 1 second, a switch to low RR is made.”h]”hX4The implementation is based on frontbuffer tracking implementation. When there is a disturbance on the screen triggered by user activity or a periodic system activity, DRRS is disabled (RR is changed to high RR). When there is no movement on screen, after a timeout of 1 second, a switch to low RR is made.”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K'hhØh²hubhì)�”}”(hŒjFor integration with frontbuffer tracking code, intel_drrs_invalidate() and intel_drrs_flush() are called.”h]”hŒjFor integration with frontbuffer tracking code, intel_drrs_invalidate() and intel_drrs_flush() are called.”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K-hhØh²hubhì)�”}”(hŒ¡DRRS can be further extended to support other internal panels and also the scenario of video playback wherein RR is set based on the rate requested by userspace.”h]”hŒ¡DRRS can be further extended to support other internal panels and also the scenario of video playback wherein RR is set based on the rate requested by userspace.”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œo/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:7: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K0hhØh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ intel_drrs_activate (C function)”Œc.intel_drrs_activate”hNt”auh1jehhØh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒDvoid intel_drrs_activate (const struct intel_crtc_state *crtc_state)”h]”hŒdesc_signature_line”“”)�”}”(hŒCvoid intel_drrs_activate(const struct intel_crtc_state *crtc_state)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j‡hjƒh²hh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K”ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j™hjƒh²hh³j˜h´K”ubhŒ desc_name”“”)�”}”(hŒintel_drrs_activate”h]”hŒ desc_sig_name”“”)�”}”(hŒintel_drrs_activate”h]”hŒintel_drrs_activate”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1j°hj¬ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jªhjƒh²hh³j˜h´K”ubhŒdesc_parameterlist”“”)�”}”(hŒ+(const struct intel_crtc_state *crtc_state)”h]”hŒdesc_parameter”“”)�”}”(hŒ)const struct intel_crtc_state *crtc_state”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jÕhjÑubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÑubjÖ)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhjÑubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÑubh)�”}”(hhh]”j±)�”}”(hŒintel_crtc_state”h]”hŒintel_crtc_state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”jŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j/Œ ASTIdentifier”“”)�”}”j*j´sbŒc.intel_drrs_activate”†”asbuh1hhjÑubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÑubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jJhjÑubj±)�”}”(hŒ crtc_state”h]”hŒ crtc_state”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÑubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhjËubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÉhjƒh²hh³j˜h´K”ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j�Œsphinx_line_type”Œ declarator”hj}h²hh³j˜h´K”ubah}”(h]”jtah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j{h³j˜h´K”hjxh²hubhŒ desc_content”“”)�”}”(hhh]”hì)�”}”(hŒ activate DRRS”h]”hŒ activate DRRS”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K”hjŒh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjxh²hh³j˜h´K”ubeh}”(h]”h ]”(j(Œfunction”eh"]”h$]”h&]”Œdomain”j(Œobjtype”j§Œdesctype”j§Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jvh²hhhØh³Nh´NubhŒ container”“”)�”}”(hŒ|**Parameters** ``const struct intel_crtc_state *crtc_state`` the crtc state **Description** Activates DRRS on the crtc.”h]”(hì)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hj¹h]”hŒ Parameters”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K˜hj³ubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒ=``const struct intel_crtc_state *crtc_state`` the crtc state ”h]”(hŒterm”“”)�”}”(hŒ-``const struct intel_crtc_state *crtc_state``”h]”hŒliteral”“”)�”}”(hjàh]”hŒ)const struct intel_crtc_state *crtc_state”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K•hjØubhŒ definition”“”)�”}”(hhh]”hì)�”}”(hŒthe crtc state”h]”hŒthe crtc state”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j÷h´K•hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhjØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³j÷h´K•hjÓubah}”(h]”h ]”h"]”h$]”h&]”uh1jÑhj³ubhì)�”}”(hŒ**Description**”h]”j¼)�”}”(hjh]”hŒ Description”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K—hj³ubhì)�”}”(hŒActivates DRRS on the crtc.”h]”hŒActivates DRRS on the crtc.”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K–hj³ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hhØh²hh³Nh´Nubjf)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jrŒ"intel_drrs_deactivate (C function)”Œc.intel_drrs_deactivate”hNt”auh1jehhØh²hh³Nh´Nubjw)�”}”(hhh]”(j|)�”}”(hŒJvoid intel_drrs_deactivate (const struct intel_crtc_state *old_crtc_state)”h]”j‚)�”}”(hŒIvoid intel_drrs_deactivate(const struct intel_crtc_state *old_crtc_state)”h]”(jˆ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hj`h²hh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K´ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj`h²hh³jrh´K´ubj«)�”}”(hŒintel_drrs_deactivate”h]”j±)�”}”(hŒintel_drrs_deactivate”h]”hŒintel_drrs_deactivate”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj�ubah}”(h]”h ]”(jÄjÅeh"]”h$]”h&]”hÅhÆuh1jªhj`h²hh³jrh´K´ubjÊ)�”}”(hŒ/(const struct intel_crtc_state *old_crtc_state)”h]”jÐ)�”}”(hŒ-const struct intel_crtc_state *old_crtc_state”h]”(jÖ)�”}”(hjÙh]”hŒconst”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhj�ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj�ubjÖ)�”}”(hjöh]”hŒstruct”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhj�ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj�ubh)�”}”(hhh]”j±)�”}”(hŒintel_crtc_state”h]”hŒintel_crtc_state”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj×ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j(Œreftype”j*Œ reftarget”jÜŒmodname”NŒ classname”Nj.j1)�”}”j4]”j7)�”}”j*j‡sbŒc.intel_drrs_deactivate”†”asbuh1hhj�ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj�ubjK)�”}”(hjNh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jWah"]”h$]”h&]”uh1jJhj�ubj±)�”}”(hŒold_crtc_state”h]”hŒold_crtc_state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj�ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhj™ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÉhj`h²hh³jrh´K´ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj|ˆuh1j�j}j~hj\h²hh³jrh´K´ubah}”(h]”jWah ]”(j‚jƒeh"]”h$]”h&]”j‡ˆjˆ)j‰huh1j{h³jrh´K´hjYh²hubj‹)�”}”(hhh]”hì)�”}”(hŒdeactivate DRRS”h]”hŒdeactivate DRRS”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K´hj<h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjYh²hh³jrh´K´ubeh}”(h]”h ]”(j(Œfunction”eh"]”h$]”h&]”j«j(j¬jWj­jWj®‰j¯‰j°‰uh1jvh²hhhØh³Nh´Nubj²)�”}”(hŒ†**Parameters** ``const struct intel_crtc_state *old_crtc_state`` the old crtc state **Description** Deactivates DRRS on the crtc.”h]”(hì)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjah]”hŒ Parameters”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K¸hj[ubjÒ)�”}”(hhh]”j×)�”}”(hŒE``const struct intel_crtc_state *old_crtc_state`` the old crtc state ”h]”(jÝ)�”}”(hŒ1``const struct intel_crtc_state *old_crtc_state``”h]”jã)�”}”(hj€h]”hŒ-const struct intel_crtc_state *old_crtc_state”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Kµhjzubjù)�”}”(hhh]”hì)�”}”(hŒthe old crtc state”h]”hŒthe old crtc state”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j•h´Kµhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³j•h´Kµhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jÑhj[ubhì)�”}”(hŒ**Description**”h]”j¼)�”}”(hj»h]”hŒ Description”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K·hj[ubhì)�”}”(hŒDeactivates DRRS on the crtc.”h]”hŒDeactivates DRRS on the crtc.”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´K¶hj[ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hhØh²hh³Nh´Nubjf)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jrŒ"intel_drrs_invalidate (C function)”Œc.intel_drrs_invalidate”hNt”auh1jehhØh²hh³Nh´Nubjw)�”}”(hhh]”(j|)�”}”(hŒYvoid intel_drrs_invalidate (struct intel_display *display, unsigned int frontbuffer_bits)”h]”j‚)�”}”(hŒXvoid intel_drrs_invalidate(struct intel_display *display, unsigned int frontbuffer_bits)”h]”(jˆ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hjüh²hh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Mubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjüh²hh³jh´Mubj«)�”}”(hŒintel_drrs_invalidate”h]”j±)�”}”(hŒintel_drrs_invalidate”h]”hŒintel_drrs_invalidate”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjubah}”(h]”h ]”(jÄjÅeh"]”h$]”h&]”hÅhÆuh1jªhjüh²hh³jh´MubjÊ)�”}”(hŒ>(struct intel_display *display, unsigned int frontbuffer_bits)”h]”(jÐ)�”}”(hŒstruct intel_display *display”h]”(jÖ)�”}”(hjöh]”hŒstruct”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhj9ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj9ubh)�”}”(hhh]”j±)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjXubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j(Œreftype”j*Œ reftarget”j]Œmodname”NŒ classname”Nj.j1)�”}”j4]”j7)�”}”j*j#sbŒc.intel_drrs_invalidate”†”asbuh1hhj9ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj9ubjK)�”}”(hjNh]”hŒ*”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jWah"]”h$]”h&]”uh1jJhj9ubj±)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhj5ubjÐ)�”}”(hŒunsigned int frontbuffer_bits”h]”(jˆ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hj«ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj«ubjˆ)�”}”(hŒint”h]”hŒint”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hj«ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj«ubj±)�”}”(hŒfrontbuffer_bits”h]”hŒfrontbuffer_bits”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhj5ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÉhjüh²hh³jh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj|ˆuh1j�j}j~hjøh²hh³jh´Mubah}”(h]”jóah ]”(j‚jƒeh"]”h$]”h&]”j‡ˆjˆ)j‰huh1j{h³jh´Mhjõh²hubj‹)�”}”(hhh]”hì)�”}”(hŒDisable Idleness DRRS”h]”hŒDisable Idleness DRRS”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Mhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjõh²hh³jh´Mubeh}”(h]”h ]”(j(Œfunction”eh"]”h$]”h&]”j«j(j¬j)j­j)j®‰j¯‰j°‰uh1jvh²hhhØh³Nh´Nubj²)�”}”(hXi**Parameters** ``struct intel_display *display`` display device ``unsigned int frontbuffer_bits`` frontbuffer plane tracking bits **Description** This function gets called everytime rendering on the given planes start. Hence DRRS needs to be Upclocked, i.e. (LOW_RR -> HIGH_RR). Dirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”h]”(hì)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj3h]”hŒ Parameters”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M hj-ubjÒ)�”}”(hhh]”(j×)�”}”(hŒ1``struct intel_display *display`` display device ”h]”(jÝ)�”}”(hŒ!``struct intel_display *display``”h]”jã)�”}”(hjRh]”hŒstruct intel_display *display”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjLubjù)�”}”(hhh]”hì)�”}”(hŒdisplay device”h]”hŒdisplay device”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jgh´Mhjhubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhjLubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³jgh´MhjIubj×)�”}”(hŒB``unsigned int frontbuffer_bits`` frontbuffer plane tracking bits ”h]”(jÝ)�”}”(hŒ!``unsigned int frontbuffer_bits``”h]”jã)�”}”(hj‹h]”hŒunsigned int frontbuffer_bits”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj‰ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M hj…ubjù)�”}”(hhh]”hì)�”}”(hŒfrontbuffer plane tracking bits”h]”hŒfrontbuffer plane tracking bits”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j h´M hj¡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhj…ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³j h´M hjIubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑhj-ubhì)�”}”(hŒ**Description**”h]”j¼)�”}”(hjÆh]”hŒ Description”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÄubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M hj-ubhì)�”}”(hŒ„This function gets called everytime rendering on the given planes start. Hence DRRS needs to be Upclocked, i.e. (LOW_RR -> HIGH_RR).”h]”hŒ„This function gets called everytime rendering on the given planes start. Hence DRRS needs to be Upclocked, i.e. (LOW_RR -> HIGH_RR).”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M hj-ubhì)�”}”(hŒIDirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”h]”hŒIDirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M hj-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hhØh²hh³Nh´Nubjf)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jrŒintel_drrs_flush (C function)”Œc.intel_drrs_flush”hNt”auh1jehhØh²hh³Nh´Nubjw)�”}”(hhh]”(j|)�”}”(hŒTvoid intel_drrs_flush (struct intel_display *display, unsigned int frontbuffer_bits)”h]”j‚)�”}”(hŒSvoid intel_drrs_flush(struct intel_display *display, unsigned int frontbuffer_bits)”h]”(jˆ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hjh²hh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Mubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjh²hh³j(h´Mubj«)�”}”(hŒintel_drrs_flush”h]”j±)�”}”(hŒintel_drrs_flush”h]”hŒintel_drrs_flush”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hj7ubah}”(h]”h ]”(jÄjÅeh"]”h$]”h&]”hÅhÆuh1jªhjh²hh³j(h´MubjÊ)�”}”(hŒ>(struct intel_display *display, unsigned int frontbuffer_bits)”h]”(jÐ)�”}”(hŒstruct intel_display *display”h]”(jÖ)�”}”(hjöh]”hŒstruct”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhjSubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjSubh)�”}”(hhh]”j±)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjrubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j(Œreftype”j*Œ reftarget”jwŒmodname”NŒ classname”Nj.j1)�”}”j4]”j7)�”}”j*j=sbŒc.intel_drrs_flush”†”asbuh1hhjSubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjSubjK)�”}”(hjNh]”hŒ*”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jWah"]”h$]”h&]”uh1jJhjSubj±)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjSubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhjOubjÐ)�”}”(hŒunsigned int frontbuffer_bits”h]”(jˆ)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hjÅubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÅubjˆ)�”}”(hŒint”h]”hŒint”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hjÅubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjÅubj±)�”}”(hŒfrontbuffer_bits”h]”hŒfrontbuffer_bits”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjÅubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhjOubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÉhjh²hh³j(h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj|ˆuh1j�j}j~hjh²hh³j(h´Mubah}”(h]”j ah ]”(j‚jƒeh"]”h$]”h&]”j‡ˆjˆ)j‰huh1j{h³j(h´Mhjh²hubj‹)�”}”(hhh]”hì)�”}”(hŒRestart Idleness DRRS”h]”hŒRestart Idleness DRRS”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Mhj(h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhjh²hh³j(h´Mubeh}”(h]”h ]”(j(Œfunction”eh"]”h$]”h&]”j«j(j¬jCj­jCj®‰j¯‰j°‰uh1jvh²hhhØh³Nh´Nubj²)�”}”(hXÙ**Parameters** ``struct intel_display *display`` display device ``unsigned int frontbuffer_bits`` frontbuffer plane tracking bits **Description** This function gets called every time rendering on the given planes has completed or flip on a crtc is completed. So DRRS should be upclocked (LOW_RR -> HIGH_RR). And also Idleness detection should be started again, if no other planes are dirty. Dirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”h]”(hì)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hjMh]”hŒ Parameters”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjKubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjGubjÒ)�”}”(hhh]”(j×)�”}”(hŒ1``struct intel_display *display`` display device ”h]”(jÝ)�”}”(hŒ!``struct intel_display *display``”h]”jã)�”}”(hjlh]”hŒstruct intel_display *display”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´Mhjfubjù)�”}”(hhh]”hì)�”}”(hŒdisplay device”h]”hŒdisplay device”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j�h´Mhj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhjfubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³j�h´Mhjcubj×)�”}”(hŒB``unsigned int frontbuffer_bits`` frontbuffer plane tracking bits ”h]”(jÝ)�”}”(hŒ!``unsigned int frontbuffer_bits``”h]”jã)�”}”(hj¥h]”hŒunsigned int frontbuffer_bits”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjŸubjù)�”}”(hhh]”hì)�”}”(hŒfrontbuffer plane tracking bits”h]”hŒfrontbuffer plane tracking bits”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jºh´Mhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³jºh´Mhjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÑhjGubhì)�”}”(hŒ**Description**”h]”j¼)�”}”(hjàh]”hŒ Description”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjGubhì)�”}”(hŒôThis function gets called every time rendering on the given planes has completed or flip on a crtc is completed. So DRRS should be upclocked (LOW_RR -> HIGH_RR). And also Idleness detection should be started again, if no other planes are dirty.”h]”hŒôThis function gets called every time rendering on the given planes has completed or flip on a crtc is completed. So DRRS should be upclocked (LOW_RR -> HIGH_RR). And also Idleness detection should be started again, if no other planes are dirty.”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjGubhì)�”}”(hŒIDirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”h]”hŒIDirty frontbuffers relevant to DRRS are tracked in busy_frontbuffer_bits.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´MhjGubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hhØh²hh³Nh´Nubjf)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jrŒ!intel_drrs_crtc_init (C function)”Œc.intel_drrs_crtc_init”hNt”auh1jehhØh²hh³Nh´Nubjw)�”}”(hhh]”(j|)�”}”(hŒ3void intel_drrs_crtc_init (struct intel_crtc *crtc)”h]”j‚)�”}”(hŒ2void intel_drrs_crtc_init(struct intel_crtc *crtc)”h]”(jˆ)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj4 h²hh³Nh´Nubah}”(h]”h ]”j”ah"]”h$]”h&]”uh1j‡hj0 h²hh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M)ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hj0 h²hh³jB h´M)ubj«)�”}”(hŒintel_drrs_crtc_init”h]”j±)�”}”(hŒintel_drrs_crtc_init”h]”hŒintel_drrs_crtc_init”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjQ ubah}”(h]”h ]”(jÄjÅeh"]”h$]”h&]”hÅhÆuh1jªhj0 h²hh³jB h´M)ubjÊ)�”}”(hŒ(struct intel_crtc *crtc)”h]”jÐ)�”}”(hŒstruct intel_crtc *crtc”h]”(jÖ)�”}”(hjöh]”hŒstruct”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”jâah"]”h$]”h&]”uh1jÕhjm ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjm ubh)�”}”(hhh]”j±)�”}”(hŒ intel_crtc”h]”hŒ intel_crtc”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjŒ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j(Œreftype”j*Œ reftarget”j‘ Œmodname”NŒ classname”Nj.j1)�”}”j4]”j7)�”}”j*jW sbŒc.intel_drrs_crtc_init”†”asbuh1hhjm ubjš)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¯ h²hh³Nh´Nubah}”(h]”h ]”j¦ah"]”h$]”h&]”uh1j™hjm ubjK)�”}”(hjNh]”hŒ*”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”jWah"]”h$]”h&]”uh1jJhjm ubj±)�”}”(hŒcrtc”h]”hŒcrtc”…”�”}”(hjÊ h²hh³Nh´Nubah}”(h]”h ]”j½ah"]”h$]”h&]”uh1j°hjm ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jÏhji ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÉhj0 h²hh³jB h´M)ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj|ˆuh1j�j}j~hj, h²hh³jB h´M)ubah}”(h]”j' ah ]”(j‚jƒeh"]”h$]”h&]”j‡ˆjˆ)j‰huh1j{h³jB h´M)hj) h²hubj‹)�”}”(hhh]”hì)�”}”(hŒInit DRRS for CRTC”h]”hŒInit DRRS for CRTC”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M)hjñ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jŠhj) h²hh³jB h´M)ubeh}”(h]”h ]”(j(Œfunction”eh"]”h$]”h&]”j«j(j¬j j­j j®‰j¯‰j°‰uh1jvh²hhhØh³Nh´Nubj²)�”}”(hŒ•**Parameters** ``struct intel_crtc *crtc`` crtc **Description** This function is called only once at driver load to initialize basic DRRS stuff.”h]”(hì)�”}”(hŒ**Parameters**”h]”j¼)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M-hj ubjÒ)�”}”(hhh]”j×)�”}”(hŒ!``struct intel_crtc *crtc`` crtc ”h]”(jÝ)�”}”(hŒ``struct intel_crtc *crtc``”h]”jã)�”}”(hj5 h]”hŒstruct intel_crtc *crtc”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jâhj3 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÜh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M*hj/ ubjù)�”}”(hhh]”hì)�”}”(hŒcrtc”h]”hŒcrtc”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jJ h´M*hjK ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøhj/ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÖh³jJ h´M*hj, ubah}”(h]”h ]”h"]”h$]”h&]”uh1jÑhj ubhì)�”}”(hŒ**Description**”h]”j¼)�”}”(hjp h]”hŒ Description”…”�”}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j»hjn ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M,hj ubhì)�”}”(hŒPThis function is called only once at driver load to initialize basic DRRS stuff.”h]”hŒPThis function is called only once at driver load to initialize basic DRRS stuff.”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/drrs:10: ./drivers/gpu/drm/i915/display/intel_drrs.c”h´M+hj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j±hhØh²hh³Nh´Nubeh}”(h]”Œ#display-refresh-rate-switching-drrs”ah ]”h"]”Œ%display refresh rate switching (drrs)”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”jÇ Œ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ž sŒ nametypes”}”j¡ ‰sh}”(jž hØjtj}jWj\jójø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.