€•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/intel-display/cdclk”Œ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/cdclk”Œ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/cdclk”Œ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/cdclk”Œ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/cdclk”Œ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/cdclk”Œ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/cdclk”Œ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³ŒE/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk.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 clocks”h]”hŒDisplay clocks”…”�”}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hXThe display engine uses several different clocks to do its work. There are two main clocks involved that aren't directly related to the actual pixel clock or any symbol/bit clock of the actual output port. These are the core display clock (CDCLK) and RAWCLK.”h]”hXThe display engine uses several different clocks to do its work. There are two main clocks involved that aren’t directly related to the actual pixel clock or any symbol/bit clock of the actual output port. These are the core display clock (CDCLK) and RAWCLK.”…”�”}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´K:hhØh²hubhì)�”}”(hŒéCDCLK clocks most of the display pipe logic, and thus its frequency must be high enough to support the rate at which pixels are flowing through the pipes. Downscaling must also be accounted as that increases the effective pixel rate.”h]”hŒéCDCLK clocks most of the display pipe logic, and thus its frequency must be high enough to support the rate at which pixels are flowing through the pipes. Downscaling must also be accounted as that increases the effective pixel rate.”…”�”}”(hhüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´K?hhØh²hubhì)�”}”(hXOn several platforms the CDCLK frequency can be changed dynamically to minimize power consumption for a given display configuration. Typically changes to the CDCLK frequency require all the display pipes to be shut down while the frequency is being changed.”h]”hXOn several platforms the CDCLK frequency can be changed dynamically to minimize power consumption for a given display configuration. Typically changes to the CDCLK frequency require all the display pipes to be shut down while the frequency is being changed.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KDhhØh²hubhì)�”}”(hŒºOn SKL+ the DMC will toggle the CDCLK off/on during DC5/6 entry/exit. DMC will not change the active CDCLK frequency however, so that part will still be performed by the driver directly.”h]”hŒºOn SKL+ the DMC will toggle the CDCLK off/on during DC5/6 entry/exit. DMC will not change the active CDCLK frequency however, so that part will still be performed by the driver directly.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KIhhØh²hubhì)�”}”(hŒPThere are multiple components involved in the generation of the CDCLK frequency:”h]”hŒPThere are multiple components involved in the generation of the CDCLK frequency:”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KMhhØh²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒhWe have the CDCLK PLL, which generates an output clock based on a reference clock and a ratio parameter.”h]”hì)�”}”(hŒhWe have the CDCLK PLL, which generates an output clock based on a reference clock and a ratio parameter.”h]”hŒhWe have the CDCLK PLL, which generates an output clock based on a reference clock and a ratio parameter.”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KPhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj:ubj>)�”}”(hŒtThe CD2X Divider, which divides the output of the PLL based on a divisor selected from a set of pre-defined choices.”h]”hì)�”}”(hŒtThe CD2X Divider, which divides the output of the PLL based on a divisor selected from a set of pre-defined choices.”h]”hŒtThe CD2X Divider, which divides the output of the PLL based on a divisor selected from a set of pre-defined choices.”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KRhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj:ubj>)�”}”(hŒ—The CD2X Squasher, which further divides the output based on a waveform represented as a sequence of bits where each zero "squashes out" a clock cycle.”h]”hì)�”}”(hŒ—The CD2X Squasher, which further divides the output based on a waveform represented as a sequence of bits where each zero "squashes out" a clock cycle.”h]”hŒ›The CD2X Squasher, which further divides the output based on a waveform represented as a sequence of bits where each zero “squashes outâ€� a clock cycle.”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KThjqubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj:ubj>)�”}”(hŒFAnd, finally, a fixed divider that divides the output frequency by 2. ”h]”hì)�”}”(hŒEAnd, finally, a fixed divider that divides the output frequency by 2.”h]”hŒEAnd, finally, a fixed divider that divides the output frequency by 2.”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KWhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hj:ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j8h³jQh´KPhhØh²hubhì)�”}”(hŒTAs such, the resulting CDCLK frequency can be calculated with the following formula:”h]”hŒTAs such, the resulting CDCLK frequency can be calculated with the following formula:”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KYhhØh²hubhŒ block_quote”“”)�”}”(hŒ/cdclk = vco / cd2x_div / (sq_len / sq_div) / 2 ”h]”hì)�”}”(hŒ.cdclk = vco / cd2x_div / (sq_len / sq_div) / 2”h]”hŒ.cdclk = vco / cd2x_div / (sq_len / sq_div) / 2”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´K\hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jºh³jÎh´K\hhØh²hubhì)�”}”(hŒë, where vco is the frequency generated by the PLL; cd2x_div represents the CD2X Divider; sq_len and sq_div are the bit length and the number of high bits for the CD2X Squasher waveform, respectively; and 2 represents the fixed divider.”h]”hŒë, where vco is the frequency generated by the PLL; cd2x_div represents the CD2X Divider; sq_len and sq_div are the bit length and the number of high bits for the CD2X Squasher waveform, respectively; and 2 represents the fixed divider.”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´K^hhØh²hubhì)�”}”(hŒŸNote that some older platforms do not contain the CD2X Divider and/or CD2X Squasher, in which case we can ignore their respective factors in the formula above.”h]”hŒŸNote that some older platforms do not contain the CD2X Divider and/or CD2X Squasher, in which case we can ignore their respective factors in the formula above.”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KchhØh²hubhì)�”}”(hŒfSeveral methods exist to change the CDCLK frequency, which ones are supported depends on the platform:”h]”hŒfSeveral methods exist to change the CDCLK frequency, which ones are supported depends on the platform:”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KghhØh²hubj9)�”}”(hhh]”(j>)�”}”(hŒLFull PLL disable + re-enable with new VCO frequency. Pipes must be inactive.”h]”hì)�”}”(hjh]”hŒLFull PLL disable + re-enable with new VCO frequency. Pipes must be inactive.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Kjhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubj>)�”}”(hŒyCD2X divider update. Single pipe can be active as the divider update can be synchronized with the pipe's start of vblank.”h]”hì)�”}”(hŒyCD2X divider update. Single pipe can be active as the divider update can be synchronized with the pipe's start of vblank.”h]”hŒ{CD2X divider update. Single pipe can be active as the divider update can be synchronized with the pipe’s start of vblank.”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Kkhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubj>)�”}”(hŒECrawl the PLL smoothly to the new VCO frequency. Pipes can be active.”h]”hì)�”}”(hj8h]”hŒECrawl the PLL smoothly to the new VCO frequency. Pipes can be active.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Kmhj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubj>)�”}”(hŒ,Squash waveform update. Pipes can be active.”h]”hì)�”}”(hjPh]”hŒ,Squash waveform update. Pipes can be active.”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KnhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubj>)�”}”(hŒECrawl and squash can also be done back to back. Pipes can be active. ”h]”hì)�”}”(hŒDCrawl and squash can also be done back to back. Pipes can be active.”h]”hŒDCrawl and squash can also be done back to back. Pipes can be active.”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Kohjfubah}”(h]”h ]”h"]”h$]”h&]”uh1j=hjubeh}”(h]”h ]”h"]”h$]”h&]”j©jªuh1j8h³jh´KjhhØh²hubhì)�”}”(hŒêRAWCLK is a fixed frequency clock, often used by various auxiliary blocks such as AUX CH or backlight PWM. Hence the only thing we really need to know about RAWCLK is its frequency so that various dividers can be programmed correctly.”h]”hŒêRAWCLK is a fixed frequency clock, often used by various auxiliary blocks such as AUX CH or backlight PWM. Hence the only thing we really need to know about RAWCLK is its frequency so that various dividers can be programmed correctly.”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:7: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´KqhhØh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ intel_cdclk_init_hw (C function)”Œc.intel_cdclk_init_hw”hNt”auh1j”hhØh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ8void intel_cdclk_init_hw (struct intel_display *display)”h]”hŒdesc_signature_line”“”)�”}”(hŒ7void intel_cdclk_init_hw(struct intel_display *display)”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M˜ ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jÈhj²h²hh³jÇh´M˜ ubhŒ desc_name”“”)�”}”(hŒintel_cdclk_init_hw”h]”hŒ desc_sig_name”“”)�”}”(hŒintel_cdclk_init_hw”h]”hŒintel_cdclk_init_hw”…”�”}”(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´M˜ ubhŒdesc_parameterlist”“”)�”}”(hŒ(struct intel_display *display)”h]”hŒdesc_parameter”“”)�”}”(hŒstruct intel_display *display”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jhjubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”j(Œmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jBŒ ASTIdentifier”“”)�”}”j=jãsbŒc.intel_cdclk_init_hw”†”asbuh1hhjubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1j]hjubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhjúubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhj²h²hh³jÇh´M˜ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j°Œsphinx_line_type”Œ declarator”hj¬h²hh³jÇh´M˜ ubah}”(h]”j£ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jªh³jÇh´M˜ hj§h²hubhŒ desc_content”“”)�”}”(hhh]”hì)�”}”(hŒInitialize CDCLK hardware”h]”hŒInitialize CDCLK hardware”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M˜ hjŸh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj§h²hh³jÇh´M˜ ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”Œdomain”j;Œobjtype”jºŒdesctype”jºŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j¥h²hhhØh³Nh´NubhŒ container”“”)�”}”(hXf**Parameters** ``struct intel_display *display`` display instance **Description** Initialize CDCLK. This consists mainly of initializing display->cdclk.hw and sanitizing the state of the hardware if needed. This is generally done only during the display core initialization sequence, after which the DMC will take care of turning CDCLK off/on as needed.”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mœ hjÆubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(hŒterm”“”)�”}”(hŒ!``struct intel_display *display``”h]”hŒliteral”“”)�”}”(hjóh]”hŒstruct intel_display *display”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M™ hjëubhŒ definition”“”)�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hjh²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™ hjæubah}”(h]”h ]”h"]”h$]”h&]”uh1jähjÆubhì)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj2h]”hŒ Description”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M› hjÆubhì)�”}”(hXInitialize CDCLK. This consists mainly of initializing display->cdclk.hw and sanitizing the state of the hardware if needed. This is generally done only during the display core initialization sequence, after which the DMC will take care of turning CDCLK off/on as needed.”h]”hXInitialize CDCLK. This consists mainly of initializing display->cdclk.hw and sanitizing the state of the hardware if needed. This is generally done only during the display core initialization sequence, after which the DMC will take care of turning CDCLK off/on as needed.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mš hjÆubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ"intel_cdclk_uninit_hw (C function)”Œc.intel_cdclk_uninit_hw”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒ:void intel_cdclk_uninit_hw (struct intel_display *display)”h]”j±)�”}”(hŒ9void intel_cdclk_uninit_hw(struct intel_display *display)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hjsh²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M© ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjsh²hh³j…h´M© ubjÚ)�”}”(hŒintel_cdclk_uninit_hw”h]”jà)�”}”(hŒintel_cdclk_uninit_hw”h]”hŒintel_cdclk_uninit_hw”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj”ubah}”(h]”h ]”(jójôeh"]”h$]”h&]”hÅhÆuh1jÙhjsh²hh³j…h´M© ubjù)�”}”(hŒ(struct intel_display *display)”h]”jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj°ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj°ubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=jšsbŒc.intel_cdclk_uninit_hw”†”asbuh1hhj°ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj°ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj°ubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(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øhjsh²hh³j…h´M© ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hjoh²hh³j…h´M© ubah}”(h]”jjah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³j…h´M© hjlh²hubjž)�”}”(hhh]”hì)�”}”(hŒUninitialize CDCLK hardware”h]”hŒUninitialize CDCLK hardware”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M© hj4h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjlh²hh³j…h´M© ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jOjÀjOjÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒ¯**Parameters** ``struct intel_display *display`` display instance **Description** Uninitialize CDCLK. This is done only during the display core uninitialization sequence.”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjYh]”hŒ Parameters”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjWubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M­ hjSubjå)�”}”(hhh]”jê)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hjxh]”hŒstruct intel_display *display”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mª hjrubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j�h´Mª hjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³j�h´Mª hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jähjSubhì)�”}”(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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M¬ hjSubhì)�”}”(hŒXUninitialize CDCLK. This is done only during the display core uninitialization sequence.”h]”hŒXUninitialize CDCLK. This is done only during the display core uninitialization sequence.”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M« hjSubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ&intel_cdclk_clock_changed (C function)”Œc.intel_cdclk_clock_changed”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒgbool intel_cdclk_clock_changed (const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”j±)�”}”(hŒfbool intel_cdclk_clock_changed(const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(j·)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hjôh²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M÷ ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjôh²hh³jh´M÷ ubjÚ)�”}”(hŒintel_cdclk_clock_changed”h]”jà)�”}”(hŒintel_cdclk_clock_changed”h]”hŒintel_cdclk_clock_changed”…”�”}”(hjh²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´M÷ ubjù)�”}”(hŒH(const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(jÿ)�”}”(hŒ"const struct intel_cdclk_config *a”h]”(j)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj1ubj)�”}”(hjh]”hŒstruct”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj1ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj1ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjlubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”jqŒmodname”NŒ classname”NjAjD)�”}”jG]”jJ)�”}”j=jsbŒc.intel_cdclk_clock_changed”†”asbuh1hhj1ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj1ubj^)�”}”(hjah]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj1ubjà)�”}”(hŒa”h]”hŒa”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj-ubjÿ)�”}”(hŒ"const struct intel_cdclk_config *b”h]”(j)�”}”(hj7h]”hŒconst”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj¿ubj)�”}”(hjh]”hŒstruct”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¿ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj¿ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(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”NjAjD)�”}”jG]”j‹Œc.intel_cdclk_clock_changed”†”asbuh1hhj¿ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj¿ubj^)�”}”(hjah]”hŒ*”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj¿ubjà)�”}”(hŒb”h]”hŒb”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj¿ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhjôh²hh³jh´M÷ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hjðh²hh³jh´M÷ ubah}”(h]”jëah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jh´M÷ hjíh²hubjž)�”}”(hhh]”hì)�”}”(hŒCheck whether the clock changed”h]”hŒCheck whether the clock changed”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M÷ hj\h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjíh²hh³jh´M÷ ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jwjÀjwjÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒõ**Parameters** ``const struct intel_cdclk_config *a`` first CDCLK configuration ``const struct intel_cdclk_config *b`` second CDCLK configuration **Return** True if CDCLK changed in a way that requires re-programming and False otherwise.”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj�h]”hŒ Parameters”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mû hj{ubjå)�”}”(hhh]”(jê)�”}”(hŒA``const struct intel_cdclk_config *a`` first CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *a``”h]”jö)�”}”(hj h]”hŒ"const struct intel_cdclk_config *a”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjžubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mø hjšubj )�”}”(hhh]”hì)�”}”(hŒfirst CDCLK configuration”h]”hŒfirst CDCLK configuration”…”�”}”(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ø hj—ubjê)�”}”(hŒB``const struct intel_cdclk_config *b`` second CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *b``”h]”jö)�”}”(hjÙh]”hŒ"const struct intel_cdclk_config *b”…”�”}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj×ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mù hjÓubj )�”}”(hhh]”hì)�”}”(hŒsecond CDCLK configuration”h]”hŒsecond CDCLK configuration”…”�”}”(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ù hj—ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jähj{ubhì)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjh]”hŒReturn”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mû hj{ubhì)�”}”(hŒPTrue if CDCLK changed in a way that requires re-programming and False otherwise.”h]”hŒPTrue if CDCLK changed in a way that requires re-programming and False otherwise.”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mû hj{ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ(intel_cdclk_can_cd2x_update (C function)”Œc.intel_cdclk_can_cd2x_update”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒˆbool intel_cdclk_can_cd2x_update (struct intel_display *display, const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”j±)�”}”(hŒ‡bool intel_cdclk_can_cd2x_update(struct intel_display *display, const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(j·)�”}”(hjúh]”hŒbool”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hjUh²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjUh²hh³jfh´M ubjÚ)�”}”(hŒintel_cdclk_can_cd2x_update”h]”jà)�”}”(hŒintel_cdclk_can_cd2x_update”h]”hŒintel_cdclk_can_cd2x_update”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjuubah}”(h]”h ]”(jójôeh"]”h$]”h&]”hÅhÆuh1jÙhjUh²hh³jfh´M ubjù)�”}”(hŒg(struct intel_display *display, const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‘ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj‘ubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=j{sbŒc.intel_cdclk_can_cd2x_update”†”asbuh1hhj‘ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj‘ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj‘ubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj‘ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj�ubjÿ)�”}”(hŒ"const struct intel_cdclk_config *a”h]”(j)�”}”(hj7h]”hŒconst”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj ubj)�”}”(hjh]”hŒstruct”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/ h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj= ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”jB Œmodname”NŒ classname”NjAjD)�”}”jG]”jÏŒc.intel_cdclk_can_cd2x_update”†”asbuh1hhj ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj^ h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj ubjà)�”}”(hj¬h]”hŒa”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj�ubjÿ)�”}”(hŒ"const struct intel_cdclk_config *b”h]”(j)�”}”(hj7h]”hŒconst”…”�”}”(hj‘ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj� ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjž h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj� ubj)�”}”(hjh]”hŒstruct”…”�”}”(hj¬ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj� ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj� ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(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”NjAjD)�”}”jG]”jÏŒc.intel_cdclk_can_cd2x_update”†”asbuh1hhj� ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj� ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj� ubjà)�”}”(hj7h]”hŒb”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj� ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhjUh²hh³jfh´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hjQh²hh³jfh´M ubah}”(h]”jLah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jfh´M hjNh²hubjž)�”}”(hhh]”hì)�”}”(hŒ^Determine if changing between the two CDCLK configurations requires only a cd2x divider update”h]”hŒ^Determine if changing between the two CDCLK configurations requires only a cd2x divider update”…”�”}”(hj, h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj) h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjNh²hh³jfh´M ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jD jÀjD jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hXK**Parameters** ``struct intel_display *display`` display instance ``const struct intel_cdclk_config *a`` first CDCLK configuration ``const struct intel_cdclk_config *b`` second CDCLK configuration **Return** True if changing between the two CDCLK configurations can be done with just a cd2x divider update, false if not.”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjN h]”hŒ Parameters”…”�”}”(hjP h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjL ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjH ubjå)�”}”(hhh]”(jê)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hjm h]”hŒstruct intel_display *display”…”�”}”(hjo h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjk ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjg ubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³j‚ h´M hjƒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjg ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³j‚ h´M hjd ubjê)�”}”(hŒA``const struct intel_cdclk_config *a`` first CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *a``”h]”jö)�”}”(hj¦ h]”hŒ"const struct intel_cdclk_config *a”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj¤ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj  ubj )�”}”(hhh]”hì)�”}”(hŒfirst CDCLK configuration”h]”hŒfirst CDCLK configuration”…”�”}”(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 hjd ubjê)�”}”(hŒB``const struct intel_cdclk_config *b`` second CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *b``”h]”jö)�”}”(hjß h]”hŒ"const struct intel_cdclk_config *b”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjÝ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjÙ ubj )�”}”(hhh]”hì)�”}”(hŒsecond CDCLK configuration”h]”hŒsecond CDCLK configuration”…”�”}”(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 hjd ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jähjH ubhì)�”}”(hŒ **Return**”h]”jÏ)�”}”(hj h]”hŒReturn”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjH ubhì)�”}”(hŒpTrue if changing between the two CDCLK configurations can be done with just a cd2x divider update, false if not.”h]”hŒpTrue if changing between the two CDCLK configurations can be done with just a cd2x divider update, false if not.”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjH ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ intel_cdclk_changed (C function)”Œc.intel_cdclk_changed”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒabool intel_cdclk_changed (const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”j±)�”}”(hŒ`bool intel_cdclk_changed(const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(j·)�”}”(hjúh]”hŒbool”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hj[ h²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M* ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj[ h²hh³jl h´M* ubjÚ)�”}”(hŒintel_cdclk_changed”h]”jà)�”}”(hŒintel_cdclk_changed”h]”hŒintel_cdclk_changed”…”�”}”(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³jl h´M* ubjù)�”}”(hŒH(const struct intel_cdclk_config *a, const struct intel_cdclk_config *b)”h]”(jÿ)�”}”(hŒ"const struct intel_cdclk_config *a”h]”(j)�”}”(hj7h]”hŒconst”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj— ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj— ubj)�”}”(hjh]”hŒstruct”…”�”}”(hj¶ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj— ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj— ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=j� sbŒc.intel_cdclk_changed”†”asbuh1hhj— ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjô h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj— ubj^)�”}”(hjah]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj— ubjà)�”}”(hj¬h]”hŒa”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj— ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj“ ubjÿ)�”}”(hŒ"const struct intel_cdclk_config *b”h]”(j)�”}”(hj7h]”hŒconst”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj# ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4 h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj# ubj)�”}”(hjh]”hŒstruct”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj# ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj# ubh)�”}”(hhh]”jà)�”}”(hŒintel_cdclk_config”h]”hŒintel_cdclk_config”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj] ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”jb Œmodname”NŒ classname”NjAjD)�”}”jG]”jð Œc.intel_cdclk_changed”†”asbuh1hhj# ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj# ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj# ubjà)�”}”(hj7h]”hŒb”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj# ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj“ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhj[ h²hh³jl h´M* ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hjW h²hh³jl h´M* ubah}”(h]”jR ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jl h´M* hjT h²hubjž)�”}”(hhh]”hì)�”}”(hŒ3Determine if two CDCLK configurations are different”h]”hŒ3Determine if two CDCLK configurations are different”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M* hj¿ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjT h²hh³jl h´M* ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jÚ jÀjÚ jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒä**Parameters** ``const struct intel_cdclk_config *a`` first CDCLK configuration ``const struct intel_cdclk_config *b`` second CDCLK configuration **Return** True if the CDCLK configurations don't match, false if they do.”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M. hjÞ ubjå)�”}”(hhh]”(jê)�”}”(hŒA``const struct intel_cdclk_config *a`` first CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *a``”h]”jö)�”}”(hj h]”hŒ"const struct intel_cdclk_config *a”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M+ hjý ubj )�”}”(hhh]”hì)�”}”(hŒfirst CDCLK configuration”h]”hŒfirst CDCLK configuration”…”�”}”(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+ hjú ubjê)�”}”(hŒB``const struct intel_cdclk_config *b`` second CDCLK configuration ”h]”(jð)�”}”(hŒ&``const struct intel_cdclk_config *b``”h]”jö)�”}”(hj< h]”hŒ"const struct intel_cdclk_config *b”…”�”}”(hj> h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj: ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M, hj6 ubj )�”}”(hhh]”hì)�”}”(hŒsecond CDCLK configuration”h]”hŒsecond CDCLK configuration”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jQ h´M, hjR ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj6 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³jQ h´M, hjú ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jähjÞ ubhì)�”}”(hŒ **Return**”h]”jÏ)�”}”(hjw h]”hŒReturn”…”�”}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhju ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M. hjÞ ubhì)�”}”(hŒ?True if the CDCLK configurations don't match, false if they do.”h]”hŒATrue if the CDCLK configurations don’t match, false if they do.”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M. hjÞ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ-intel_set_cdclk_pre_plane_update (C function)”Œ"c.intel_set_cdclk_pre_plane_update”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒHvoid intel_set_cdclk_pre_plane_update (struct intel_atomic_state *state)”h]”j±)�”}”(hŒGvoid intel_set_cdclk_pre_plane_update(struct intel_atomic_state *state)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hj¸ h²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjË h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj¸ h²hh³jÊ h´M ubjÚ)�”}”(hŒ intel_set_cdclk_pre_plane_update”h]”jà)�”}”(hŒ intel_set_cdclk_pre_plane_update”h]”hŒ intel_set_cdclk_pre_plane_update”…”�”}”(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³jÊ h´M ubjù)�”}”(hŒ"(struct intel_atomic_state *state)”h]”jÿ)�”}”(hŒ struct intel_atomic_state *state”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjù h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjõ ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjõ ubh)�”}”(hhh]”jà)�”}”(hŒintel_atomic_state”h]”hŒintel_atomic_state”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”jŒmodname”NŒ classname”NjAjD)�”}”jG]”jJ)�”}”j=jß sbŒ"c.intel_set_cdclk_pre_plane_update”†”asbuh1hhjõ ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjõ ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hjõ ubjà)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjRh²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´M ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hj´ h²hh³jÊ h´M ubah}”(h]”j¯ ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jÊ h´M hj± h²hubjž)�”}”(hhh]”hì)�”}”(hŒ$Push the CDCLK state to the hardware”h]”hŒ$Push the CDCLK state to the hardware”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hjyh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj± h²hh³jÊ h´M ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿j”jÀj”jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒ¿**Parameters** ``struct intel_atomic_state *state`` intel atomic state **Description** Program the hardware before updating the HW plane state based on the new CDCLK state, if necessary.”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj˜ubjå)�”}”(hhh]”jê)�”}”(hŒ8``struct intel_atomic_state *state`` intel atomic state ”h]”(jð)�”}”(hŒ$``struct intel_atomic_state *state``”h]”jö)�”}”(hj½h]”hŒ struct intel_atomic_state *state”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj·ubj )�”}”(hhh]”hì)�”}”(hŒintel atomic state”h]”hŒintel atomic state”…”�”}”(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 hj´ubah}”(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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj˜ubhì)�”}”(hŒcProgram the hardware before updating the HW plane state based on the new CDCLK state, if necessary.”h]”hŒcProgram the hardware before updating the HW plane state based on the new CDCLK state, if necessary.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M hj˜ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ.intel_set_cdclk_post_plane_update (C function)”Œ#c.intel_set_cdclk_post_plane_update”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒIvoid intel_set_cdclk_post_plane_update (struct intel_atomic_state *state)”h]”j±)�”}”(hŒHvoid intel_set_cdclk_post_plane_update(struct intel_atomic_state *state)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hj9h²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M: ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj9h²hh³jKh´M: ubjÚ)�”}”(hŒ!intel_set_cdclk_post_plane_update”h]”jà)�”}”(hŒ!intel_set_cdclk_post_plane_update”h]”hŒ!intel_set_cdclk_post_plane_update”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjZubah}”(h]”h ]”(jójôeh"]”h$]”h&]”hÅhÆuh1jÙhj9h²hh³jKh´M: ubjù)�”}”(hŒ"(struct intel_atomic_state *state)”h]”jÿ)�”}”(hŒ struct intel_atomic_state *state”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjvubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjvubh)�”}”(hhh]”jà)�”}”(hŒintel_atomic_state”h]”hŒintel_atomic_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”NjAjD)�”}”jG]”jJ)�”}”j=j`sbŒ#c.intel_set_cdclk_post_plane_update”†”asbuh1hhjvubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjvubj^)�”}”(hjah]”hŒ*”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hjvubjà)�”}”(hŒstate”h]”hŒstate”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhjrubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhj9h²hh³jKh´M: ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hj5h²hh³jKh´M: ubah}”(h]”j0ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jKh´M: hj2h²hubjž)�”}”(hhh]”hì)�”}”(hŒ$Push the CDCLK state to the hardware”h]”hŒ$Push the CDCLK state to the hardware”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M: hjúh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj2h²hh³jKh´M: ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jjÀjjÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒ¾**Parameters** ``struct intel_atomic_state *state`` intel atomic state **Description** Program the hardware after updating the HW plane state based on the new CDCLK state, if necessary.”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hjh]”hŒ Parameters”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M> hjubjå)�”}”(hhh]”jê)�”}”(hŒ8``struct intel_atomic_state *state`` intel atomic state ”h]”(jð)�”}”(hŒ$``struct intel_atomic_state *state``”h]”jö)�”}”(hj>h]”hŒ struct intel_atomic_state *state”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj<ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M; hj8ubj )�”}”(hhh]”hì)�”}”(hŒintel atomic state”h]”hŒintel atomic state”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jSh´M; hjTubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³jSh´M; hj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jähjubhì)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjyh]”hŒ Description”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M= hjubhì)�”}”(hŒbProgram the hardware after updating the HW plane state based on the new CDCLK state, if necessary.”h]”hŒbProgram the hardware after updating the HW plane state based on the new CDCLK state, if necessary.”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M< hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ#intel_update_max_cdclk (C function)”Œc.intel_update_max_cdclk”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒ;void intel_update_max_cdclk (struct intel_display *display)”h]”j±)�”}”(hŒ:void intel_update_max_cdclk(struct intel_display *display)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hjºh²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M�ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjºh²hh³jÌh´M�ubjÚ)�”}”(hŒintel_update_max_cdclk”h]”jà)�”}”(hŒintel_update_max_cdclk”h]”hŒintel_update_max_cdclk”…”�”}”(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³jÌh´M�ubjù)�”}”(hŒ(struct intel_display *display)”h]”jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj÷ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj÷ubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”jŒmodname”NŒ classname”NjAjD)�”}”jG]”jJ)�”}”j=jásbŒc.intel_update_max_cdclk”†”asbuh1hhj÷ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj÷ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj÷ubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjTh²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´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hj¶h²hh³jÌh´M�ubah}”(h]”j±ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jÌh´M�hj³h²hubjž)�”}”(hhh]”hì)�”}”(hŒ-Determine the maximum support CDCLK frequency”h]”hŒ-Determine the maximum support CDCLK frequency”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M�hj{h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj³h²hh³jÌh´M�ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿j–jÀj–jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒç**Parameters** ``struct intel_display *display`` display instance **Description** Determine the maximum CDCLK frequency the platform supports, and also derive the maximum dot clock frequency the maximum CDCLK frequency allows.”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M“hjšubjå)�”}”(hhh]”jê)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hj¿h]”hŒstruct intel_display *display”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M�hj¹ubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(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�hj¶ubah}”(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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M’hjšubhì)�”}”(hŒ�Determine the maximum CDCLK frequency the platform supports, and also derive the maximum dot clock frequency the maximum CDCLK frequency allows.”h]”hŒ�Determine the maximum CDCLK frequency the platform supports, and also derive the maximum dot clock frequency the maximum CDCLK frequency allows.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M‘hjšubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œintel_update_cdclk (C function)”Œc.intel_update_cdclk”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒ7void intel_update_cdclk (struct intel_display *display)”h]”j±)�”}”(hŒ6void intel_update_cdclk(struct intel_display *display)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hj;h²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´MäubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj;h²hh³jMh´MäubjÚ)�”}”(hŒintel_update_cdclk”h]”jà)�”}”(hŒintel_update_cdclk”h]”hŒintel_update_cdclk”…”�”}”(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³jMh´Mäubjù)�”}”(hŒ(struct intel_display *display)”h]”jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjxubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjxubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=jbsbŒc.intel_update_cdclk”†”asbuh1hhjxubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjxubj^)�”}”(hjah]”hŒ*”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hjxubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjxubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhjtubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhj;h²hh³jMh´Mäubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hj7h²hh³jMh´Mäubah}”(h]”j2ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jMh´Mähj4h²hubjž)�”}”(hhh]”hì)�”}”(hŒ%Determine the current CDCLK frequency”h]”hŒ%Determine the current CDCLK frequency”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mähjüh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj4h²hh³jMh´Mäubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿jjÀjjÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒ}**Parameters** ``struct intel_display *display`` display instance **Description** Determine the current CDCLK frequency.”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj!h]”hŒ Parameters”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mèhjubjå)�”}”(hhh]”jê)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hj@h]”hŒstruct intel_display *display”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Måhj:ubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³jUh´MåhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1j hj:ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³jUh´Måhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1jähjubhì)�”}”(hŒ**Description**”h]”jÏ)�”}”(hj{h]”hŒ Description”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhjyubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mçhjubhì)�”}”(hŒ&Determine the current CDCLK frequency.”h]”hŒ&Determine the current CDCLK frequency.”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”•e+h´Mæhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œintel_read_rawclk (C function)”Œc.intel_read_rawclk”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒ5u32 intel_read_rawclk (struct intel_display *display)”h]”j±)�”}”(hŒ4u32 intel_read_rawclk(struct intel_display *display)”h]”(h)�”}”(hhh]”jà)�”}”(hŒu32”h]”hŒu32”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=Œintel_read_rawclk”sbŒc.intel_read_rawclk”†”asbuh1hhj¼h²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M-ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj¼h²hh³jäh´M-ubjÚ)�”}”(hŒintel_read_rawclk”h]”jà)�”}”(hjáh]”hŒintel_read_rawclk”…”�”}”(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³jäh´M-ubjù)�”}”(hŒ(struct intel_display *display)”h]”jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhj-ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j;Œreftype”j=Œ reftarget”j2Œmodname”NŒ classname”NjAjD)�”}”jG]”jߌc.intel_read_rawclk”†”asbuh1hhjubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjubj^)�”}”(hjah]”hŒ*”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hjubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jþhj ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jøhj¼h²hh³jäh´M-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hj¸h²hh³jäh´M-ubah}”(h]”j³ah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jäh´M-hjµh²hubjž)�”}”(hhh]”hì)�”}”(hŒ&Determine the current RAWCLK frequency”h]”hŒ&Determine the current RAWCLK frequency”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M-hj�h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjµh²hh³jäh´M-ubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿j«jÀj«jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒÁ**Parameters** ``struct intel_display *display`` display instance **Description** Determine the current RAWCLK frequency. RAWCLK is a fixed frequency clock so this needs to done only once.”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³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M1hj¯ubjå)�”}”(hhh]”jê)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hjÔh]”hŒstruct intel_display *display”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjÒubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M.hjÎubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(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.hjËubah}”(h]”h ]”h"]”h$]”h&]”uh1jähj¯ubhì)�”}”(hŒ**Description**”h]”jÏ)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M0hj¯ubhì)�”}”(hŒjDetermine the current RAWCLK frequency. RAWCLK is a fixed frequency clock so this needs to done only once.”h]”hŒjDetermine the current RAWCLK frequency. RAWCLK is a fixed frequency clock so this needs to done only once.”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´M/hj¯ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubj•)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j¡Œ#intel_init_cdclk_hooks (C function)”Œc.intel_init_cdclk_hooks”hNt”auh1j”hhØh²hh³Nh´Nubj¦)�”}”(hhh]”(j«)�”}”(hŒ;void intel_init_cdclk_hooks (struct intel_display *display)”h]”j±)�”}”(hŒ:void intel_init_cdclk_hooks(struct intel_display *display)”h]”(j·)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jÃah"]”h$]”h&]”uh1j¶hjPh²hh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´MòubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhjPh²hh³jbh´MòubjÚ)�”}”(hŒintel_init_cdclk_hooks”h]”jà)�”}”(hŒintel_init_cdclk_hooks”h]”hŒintel_init_cdclk_hooks”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”jìah"]”h$]”h&]”uh1jßhjqubah}”(h]”h ]”(jójôeh"]”h$]”h&]”hÅhÆuh1jÙhjPh²hh³jbh´Mòubjù)�”}”(hŒ(struct intel_display *display)”h]”jÿ)�”}”(hŒstruct intel_display *display”h]”(j)�”}”(hjh]”hŒstruct”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj�ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj�ubh)�”}”(hhh]”jà)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(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”NjAjD)�”}”jG]”jJ)�”}”j=jwsbŒc.intel_init_cdclk_hooks”†”asbuh1hhj�ubjÉ)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jÕah"]”h$]”h&]”uh1jÈhj�ubj^)�”}”(hjah]”hŒ*”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jjah"]”h$]”h&]”uh1j]hj�ubjà)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(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øhjPh²hh³jbh´Mòubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj�ˆuh1j°j�j‘hjLh²hh³jbh´Mòubah}”(h]”jGah ]”(j•j–eh"]”h$]”h&]”jšˆj›)jœhuh1jªh³jbh´MòhjIh²hubjž)�”}”(hhh]”hì)�”}”(hŒ*Initialize CDCLK related modesetting hooks”h]”hŒ*Initialize CDCLK related modesetting hooks”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Mòhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjIh²hh³jbh´Mòubeh}”(h]”h ]”(j;Œfunction”eh"]”h$]”h&]”j¾j;j¿j,jÀj,jÁ‰j‰jÉuh1j¥h²hhhØh³Nh´NubjÅ)�”}”(hŒD**Parameters** ``struct intel_display *display`` display instance”h]”(hì)�”}”(hŒ**Parameters**”h]”jÏ)�”}”(hj6h]”hŒ Parameters”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÎhj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Möhj0ubjå)�”}”(hhh]”jê)�”}”(hŒ2``struct intel_display *display`` display instance”h]”(jð)�”}”(hŒ!``struct intel_display *display``”h]”jö)�”}”(hjUh]”hŒstruct intel_display *display”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jõhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jïh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´MøhjOubj )�”}”(hhh]”hì)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³Œr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/cdclk:10: ./drivers/gpu/drm/i915/display/intel_cdclk.c”h´Móhjkubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjOubeh}”(h]”h ]”h"]”h$]”h&]”uh1jéh³jjh´MøhjLubah}”(h]”h ]”h"]”h$]”h&]”uh1jähj0ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÄhhØh²hh³Nh´Nubeh}”(h]”Œdisplay-clocks”ah ]”h"]”Œdisplay clocks”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Øj£j¬jjjojëjðjLjQjR jW j¯ j´ j0j5j±j¶j2j7j³j¸jGjLuŒ 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.