€•ÜŒ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/dmc”Œ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/dmc”Œ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/dmc”Œ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/dmc”Œ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/dmc”Œ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/dmc”Œ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/dmc”Œ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³ŒC/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc.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Œtarget”“”)�”}”(hŒ.. _drm/intel-display/dmc:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œdrm-intel-display-dmc”uh1hÖh´Khhh²hh³hÇubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒDMC Firmware Support”h]”hŒDMC Firmware Support”…”�”}”(hhëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1héhhæh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒÂFrom gen9 onwards we have newly added DMC (Display microcontroller) in display engine to save and restore the state of display engine when it enter into low-power state and comes back to normal.”h]”hŒÂFrom gen9 onwards we have newly added DMC (Display microcontroller) in display engine to save and restore the state of display engine when it enter into low-power state and comes back to normal.”…”�”}”(hhûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œm/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:9: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´K,hhæh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ!intel_dmc_block_pkgc (C function)”Œc.intel_dmc_block_pkgc”hNt”auh1j hhæh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒUvoid intel_dmc_block_pkgc (struct intel_display *display, enum pipe pipe, bool block)”h]”hŒdesc_signature_line”“”)�”}”(hŒTvoid intel_dmc_block_pkgc(struct intel_display *display, enum pipe pipe, bool block)”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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MlubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j>hj(h²hh³j=h´MlubhŒ desc_name”“”)�”}”(hŒintel_dmc_block_pkgc”h]”hŒ desc_sig_name”“”)�”}”(hŒintel_dmc_block_pkgc”h]”hŒintel_dmc_block_pkgc”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jUhjQubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jOhj(h²hh³j=h´MlubhŒdesc_parameterlist”“”)�”}”(hŒ;(struct intel_display *display, enum pipe pipe, bool block)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct intel_display *display”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jzhjvubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjvubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj™ubah}”(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³jYsbŒc.intel_dmc_block_pkgc”†”asbuh1hhjvubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjvubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jÓhjvubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjvubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthjpubju)�”}”(hŒenum pipe pipe”h]”(j{)�”}”(hŒenum”h]”hŒenum”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhjùubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjùubh)�”}”(hhh]”jV)�”}”(hŒpipe”h]”hŒpipe”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jŒmodname”NŒ classname”Nj·jº)�”}”j½]”jÁŒc.intel_dmc_block_pkgc”†”asbuh1hhjùubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjùubjV)�”}”(hŒpipe”h]”hŒpipe”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjùubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthjpubju)�”}”(hŒ bool block”h]”(j-)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hj]ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj]ubjV)�”}”(hŒblock”h]”hŒblock”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj]ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthjpubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhj(h²hh³j=h´Mlubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j&Œsphinx_line_type”Œ declarator”hj"h²hh³j=h´Mlubah}”(h]”jah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j h³j=h´Mlhjh²hubhŒ desc_content”“”)�”}”(hhh]”hú)�”}”(hŒblock PKG C-state”h]”hŒblock PKG C-state”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mlhj®h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hjh²hh³j=h´Mlubeh}”(h]”h ]”(j±Œfunction”eh"]”h$]”h&]”Œdomain”j±Œobjtype”jÉŒdesctype”jÉŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jh²hhhæh³Nh´NubhŒ container”“”)�”}”(hXA**Parameters** ``struct intel_display *display`` display instance ``enum pipe pipe`` pipe which register use to block ``bool block`` block/unblock **Description** This interface is target for Wa_16025596647 usage. I.e. to set/clear PIPEDMC_BLOCK_PKGC_SW_BLOCK_PKGC_ALWAYS bit in PIPEDMC_BLOCK_PKGC_SW register.”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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MphjÕ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”“”)�”}”(hjh]”hŒstruct intel_display *display”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MmhjúubhŒ definition”“”)�”}”(hhh]”hú)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³jh´Mmhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjúubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´Mmhjõubjù)�”}”(hŒ4``enum pipe pipe`` pipe which register use to block ”h]”(jÿ)�”}”(hŒ``enum pipe pipe``”h]”j)�”}”(hj?h]”hŒenum pipe pipe”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mnhj9ubj)�”}”(hhh]”hú)�”}”(hŒ pipe which register use to block”h]”hŒ pipe which register use to block”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³jTh´MnhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj9ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jTh´Mnhjõubjù)�”}”(hŒ``bool block`` block/unblock ”h]”(jÿ)�”}”(hŒ``bool block``”h]”j)�”}”(hjxh]”hŒ bool block”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjvubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mohjrubj)�”}”(hhh]”hú)�”}”(hŒ block/unblock”h]”hŒ block/unblock”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³j�h´MohjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjrubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³j�h´Mohjõubeh}”(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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MqhjÕubhú)�”}”(hŒ“This interface is target for Wa_16025596647 usage. I.e. to set/clear PIPEDMC_BLOCK_PKGC_SW_BLOCK_PKGC_ALWAYS bit in PIPEDMC_BLOCK_PKGC_SW register.”h]”hŒ“This interface is target for Wa_16025596647 usage. I.e. to set/clear PIPEDMC_BLOCK_PKGC_SW_BLOCK_PKGC_ALWAYS bit in PIPEDMC_BLOCK_PKGC_SW register.”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MphjÕubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÓhhæh²hh³Nh´Nubj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒCintel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank (C function)”Œ8c.intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒxvoid intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank (struct intel_display *display, enum pipe pipe, bool enable)”h]”j')�”}”(hŒwvoid intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank(struct intel_display *display, enum pipe pipe, bool enable)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hjôh²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M}ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjôh²hh³jh´M}ubjP)�”}”(hŒ6intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”h]”jV)�”}”(hŒ6intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”h]”hŒ6intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhjôh²hh³jh´M}ubjo)�”}”(hŒ<(struct intel_display *display, enum pipe pipe, bool enable)”h]”(ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj1ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj1ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjPubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jUŒmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³jsbŒ8c.intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”†”asbuh1hhj1ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj1ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj1ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj1ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj-ubju)�”}”(hŒenum pipe pipe”h]”(j{)�”}”(hjÿh]”hŒenum”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj£ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj£ubh)�”}”(hhh]”jV)�”}”(hŒpipe”h]”hŒpipe”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjÂubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jÇŒmodname”NŒ classname”Nj·jº)�”}”j½]”joŒ8c.intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank”†”asbuh1hhj£ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj£ubjV)�”}”(hŒpipe”h]”hŒpipe”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj£ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj-ubju)�”}”(hŒ bool enable”h]”(j-)�”}”(hjch]”hŒbool”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hjubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjubjV)�”}”(hŒenable”h]”hŒenable”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj-ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhjô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Œstart of PKG C-state exit”h]”hŒstart of PKG C-state exit”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M}hjLh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hjíh²hh³jh´M}ubeh}”(h]”h ]”(j±Œfunction”eh"]”h$]”h&]”jÍj±jÎjgjÏjgjЉjщjÒ‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hX%**Parameters** ``struct intel_display *display`` display instance ``enum pipe pipe`` pipe which register use to block ``bool enable`` enable/disable **Description** This interface is target for Wa_16025596647 usage. I.e. start the package C exit at the start of the undelayed vblank”h]”(hú)�”}”(hŒ**Parameters**”h]”jÞ)�”}”(hjqh]”hŒ Parameters”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M�hjkubjô)�”}”(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&]”uh1jhjŽubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MhjŠubj)�”}”(hhh]”hú)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³j¥h´Mhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³j¥h´Mhj‡ubjù)�”}”(hŒ4``enum pipe pipe`` pipe which register use to block ”h]”(jÿ)�”}”(hŒ``enum pipe pipe``”h]”j)�”}”(hjÉh]”hŒenum pipe pipe”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÇubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M€hjÃubj)�”}”(hhh]”hú)�”}”(hŒ pipe which register use to block”h]”hŒ pipe which register use to block”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³jÞh´M€hjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jÞh´M€hj‡ubjù)�”}”(hŒ``bool enable`` enable/disable ”h]”(jÿ)�”}”(hŒ``bool enable``”h]”j)�”}”(hjh]”hŒ bool enable”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M�hjüubj)�”}”(hhh]”hú)�”}”(hŒenable/disable”h]”hŒenable/disable”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³jh´M�hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´M�hj‡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jóhjkubhú)�”}”(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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mƒhjkubhú)�”}”(hŒuThis interface is target for Wa_16025596647 usage. I.e. start the package C exit at the start of the undelayed vblank”h]”hŒuThis interface is target for Wa_16025596647 usage. I.e. start the package C exit at the start of the undelayed vblank”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M‚hjkubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÓhhæh²hh³Nh´Nubj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒ#intel_dmc_load_program (C function)”Œc.intel_dmc_load_program”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ;void intel_dmc_load_program (struct intel_display *display)”h]”j')�”}”(hŒ:void intel_dmc_load_program(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hj~h²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M�ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‘h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj~h²hh³j�h´M�ubjP)�”}”(hŒintel_dmc_load_program”h]”jV)�”}”(hŒintel_dmc_load_program”h]”hŒintel_dmc_load_program”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjŸubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhj~h²hh³j�h´M�ubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj»ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj»ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjÚubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jߌmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j¥sbŒc.intel_dmc_load_program”†”asbuh1hhj»ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj»ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj»ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj»ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj·ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhj~h²hh³j�h´M�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjžˆuh1j&jŸj hjzh²hh³j�h´M�ubah}”(h]”juah ]”(j¤j¥eh"]”h$]”h&]”j©ˆjª)j«huh1j h³j�h´M�hjwh²hubj­)�”}”(hhh]”hú)�”}”(hŒ+write the firmware from memory to register.”h]”hŒ+write the firmware from memory to register.”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M�hj?h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hjwh²hh³j�h´M�ubeh}”(h]”h ]”(j±Œfunction”eh"]”h$]”h&]”jÍj±jÎjZjÏjZjЉjщjÒ‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hX$**Parameters** ``struct intel_display *display`` display instance **Description** DMC firmware is read from a .bin file and kept in internal memory one time. Everytime display comes back from low power state this function is called to copy the firmware from internal memory to registers.”h]”(hú)�”}”(hŒ**Parameters**”h]”jÞ)�”}”(hjdh]”hŒ Parameters”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjbubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³j˜h´M�hjzubah}”(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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M’hj^ubhú)�”}”(hŒÍDMC firmware is read from a .bin file and kept in internal memory one time. Everytime display comes back from low power state this function is called to copy the firmware from internal memory to registers.”h]”hŒÍDMC firmware is read from a .bin file and kept in internal memory one time. Everytime display comes back from low power state this function is called to copy the firmware from internal memory to registers.”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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_dmc_disable_program (C function)”Œc.intel_dmc_disable_program”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ>void intel_dmc_disable_program (struct intel_display *display)”h]”j')�”}”(hŒ=void intel_dmc_disable_program(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hjÿh²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M¸ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjÿh²hh³jh´M¸ubjP)�”}”(hŒintel_dmc_disable_program”h]”jV)�”}”(hŒintel_dmc_disable_program”h]”hŒintel_dmc_disable_program”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj ubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhjÿh²hh³jh´M¸ubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj<ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj<ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj[ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”j`Œmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j&sbŒc.intel_dmc_disable_program”†”asbuh1hhj<ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj<ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj<ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj<ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj8ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhjÿ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Œdisable the firmware”h]”hŒdisable the firmware”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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ÎjÛjÏjÛjЉjщjÒ‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hŒË**Parameters** ``struct intel_display *display`` display instance **Description** Disable all event handlers in the firmware, making sure the firmware is inactive after the display is uninitialized.”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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhjþ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”…”�”}”(hjA h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj= ubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M»hjßubhú)�”}”(hŒtDisable all event handlers in the firmware, making sure the firmware is inactive after the display is uninitialized.”h]”hŒtDisable all event handlers in the firmware, making sure the firmware is inactive after the display is uninitialized.”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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_dmc_init (C function)”Œc.intel_dmc_init”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ3void intel_dmc_init (struct intel_display *display)”h]”j')�”}”(hŒ2void intel_dmc_init(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hj€ h²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M}ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj€ h²hh³j’ h´M}ubjP)�”}”(hŒintel_dmc_init”h]”jV)�”}”(hŒintel_dmc_init”h]”hŒintel_dmc_init”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj¡ ubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhj€ h²hh³j’ h´M}ubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj½ ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÎ h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj½ ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjß h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjÜ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”já Œmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j§ sbŒc.intel_dmc_init”†”asbuh1hhj½ ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj½ ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj½ ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj½ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj¹ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhj€ 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]”jw ah ]”(j¤j¥eh"]”h$]”h&]”j©ˆjª)j«huh1j h³j’ h´M}hjy h²hubj­)�”}”(hhh]”hú)�”}”(hŒ initialize the firmware loading.”h]”hŒ initialize the firmware loading.”…”�”}”(hjD h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M}hjA h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1j¬hjy h²hh³j’ h´M}ubeh}”(h]”h ]”(j±Œfunction”eh"]”h$]”h&]”jÍj±jÎj\ jÏj\ jЉjщjÒ‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hŒÝ**Parameters** ``struct intel_display *display`` display instance **Description** This function is called at the time of loading the display driver to read firmware from a .bin file and copied into a internal memory.”h]”(hú)�”}”(hŒ**Parameters**”h]”jÞ)�”}”(hjf h]”hŒ Parameters”…”�”}”(hjh h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjd ubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhjƒ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj 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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M€hj` ubhú)�”}”(hŒ†This function is called at the time of loading the display driver to read firmware from a .bin file and copied into a internal memory.”h]”hŒ†This function is called at the time of loading the display driver to read firmware from a .bin file and copied into a internal memory.”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mhj` ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÓhhæh²hh³Nh´Nubj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒintel_dmc_suspend (C function)”Œc.intel_dmc_suspend”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ6void intel_dmc_suspend (struct intel_display *display)”h]”j')�”}”(hŒ5void intel_dmc_suspend(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hj h²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M¸ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj h²hh³j h´M¸ubjP)�”}”(hŒintel_dmc_suspend”h]”jV)�”}”(hŒintel_dmc_suspend”h]”hŒintel_dmc_suspend”…”�”}”(hj& h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj" ubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhj h²hh³j h´M¸ubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hjB h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj> ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj> ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj] ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jb Œmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j( sbŒc.intel_dmc_suspend”†”asbuh1hhj> ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj> ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj> ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj› h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj> ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj: ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhj 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Œ*prepare DMC firmware before system suspend”h]”hŒ*prepare DMC firmware before system suspend”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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Ò‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hŒë**Parameters** ``struct intel_display *display`` display instance **Description** Prepare the DMC firmware before entering system suspend. This includes flushing pending work items and releasing any resources acquired during init.”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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj 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Þ)�”}”(hjA h]”hŒ Description”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhj? ubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´M»hjá ubhú)�”}”(hŒ”Prepare the DMC firmware before entering system suspend. This includes flushing pending work items and releasing any resources acquired during init.”h]”hŒ”Prepare the DMC firmware before entering system suspend. This includes flushing pending work items and releasing any resources acquired during init.”…”�”}”(hjW h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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_dmc_resume (C function)”Œc.intel_dmc_resume”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ5void intel_dmc_resume (struct intel_display *display)”h]”j')�”}”(hŒ4void intel_dmc_resume(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj† h²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hj‚ h²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MÚubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj‚ h²hh³j” h´MÚubjP)�”}”(hŒintel_dmc_resume”h]”jV)�”}”(hŒintel_dmc_resume”h]”hŒintel_dmc_resume”…”�”}”(hj§ h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj£ ubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhj‚ h²hh³j” h´MÚubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj¿ ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐ h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj¿ ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjá h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhjÞ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jã Œmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j© sbŒc.intel_dmc_resume”†”asbuh1hhj¿ ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj¿ ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj¿ ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj¿ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj» ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhj‚ 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]”jy ah ]”(j¤j¥eh"]”h$]”h&]”j©ˆjª)j«huh1j h³j” h´MÚhj{ h²hubj­)�”}”(hhh]”hú)�”}”(hŒ&init DMC firmware during system resume”h]”hŒ&init DMC firmware during system resume”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MÚhjC 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Ò‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hŒÅ**Parameters** ``struct intel_display *display`` display instance **Description** Reinitialize the DMC firmware during system resume, reacquiring any resources released in intel_dmc_suspend().”h]”(hú)�”}”(hŒ**Parameters**”h]”jÞ)�”}”(hjh h]”hŒ Parameters”…”�”}”(hjj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjf ubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MÞhjb 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&]”uh1jhj… ubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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&]”uh1jhj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jœ h´MÛhj~ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjb 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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MÝhjb ubhú)�”}”(hŒnReinitialize the DMC firmware during system resume, reacquiring any resources released in intel_dmc_suspend().”h]”hŒnReinitialize the DMC firmware during system resume, reacquiring any resources released in intel_dmc_suspend().”…”�”}”(hjØ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´MÜhjb ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÓhhæh²hh³Nh´Nubj )�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jŒintel_dmc_fini (C function)”Œc.intel_dmc_fini”hNt”auh1j hhæh²hh³Nh´Nubj)�”}”(hhh]”(j!)�”}”(hŒ3void intel_dmc_fini (struct intel_display *display)”h]”j')�”}”(hŒ2void intel_dmc_fini(struct intel_display *display)”h]”(j-)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j9ah"]”h$]”h&]”uh1j,hjh²hh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mîubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hjh²hh³jh´MîubjP)�”}”(hŒintel_dmc_fini”h]”jV)�”}”(hŒintel_dmc_fini”h]”hŒintel_dmc_fini”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj$ubah}”(h]”h ]”(jijjeh"]”h$]”h&]”hÅhÆuh1jOhjh²hh³jh´Mîubjo)�”}”(hŒ(struct intel_display *display)”h]”ju)�”}”(hŒstruct intel_display *display”h]”(j{)�”}”(hj~h]”hŒstruct”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”j‡ah"]”h$]”h&]”uh1jzhj@ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj@ubh)�”}”(hhh]”jV)�”}”(hŒ intel_display”h]”hŒ intel_display”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj_ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j±Œreftype”j³Œ reftarget”jdŒmodname”NŒ classname”Nj·jº)�”}”j½]”jÀ)�”}”j³j*sbŒc.intel_dmc_fini”†”asbuh1hhj@ubj?)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jKah"]”h$]”h&]”uh1j>hj@ubjÔ)�”}”(hj×h]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jàah"]”h$]”h&]”uh1jÓhj@ubjV)�”}”(hŒdisplay”h]”hŒdisplay”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jbah"]”h$]”h&]”uh1jUhj@ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jthj<ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jnhjh²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Œunload the DMC firmware.”h]”hŒunload the DMC firmware.”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.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ÎjßjÏjßjЉjщjÒ‰uh1jh²hhhæh³Nh´NubjÔ)�”}”(hŒ¶**Parameters** ``struct intel_display *display`` display instance **Description** Firmmware unloading includes freeing the internal memory and reset the firmware loading status.”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³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mòhjãubjô)�”}”(hhh]”jù)�”}”(hŒ3``struct intel_display *display`` display instance ”h]”(jÿ)�”}”(hŒ!``struct intel_display *display``”h]”j)�”}”(hjh]”hŒstruct intel_display *display”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jþh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mïhjubj)�”}”(hhh]”hú)�”}”(hŒdisplay instance”h]”hŒdisplay instance”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³jh´Mïhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jøh³jh´Mïhjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jóhjãubhú)�”}”(hŒ**Description**”h]”jÞ)�”}”(hjCh]”hŒ Description”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÝhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mñhjãubhú)�”}”(hŒ_Firmmware unloading includes freeing the internal memory and reset the firmware loading status.”h]”hŒ_Firmmware unloading includes freeing the internal memory and reset the firmware loading status.”…”�”}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œn/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:12: ./drivers/gpu/drm/i915/display/intel_dmc.c”h´Mðhjãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jÓhhæh²hh³Nh´Nubeh}”(h]”(Œdmc-firmware-support”hãeh ]”h"]”(Œdmc firmware support”Œdrm/intel-display/dmc”eh$]”h&]”uh1hähhh²hh³hÇh´KŒexpect_referenced_by_name”}”juhØsŒexpect_referenced_by_id”}”hãhØsubhå)�”}”(hhh]”(hê)�”}”(hŒDMC Flip Queue”h]”hŒDMC Flip Queue”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1héhj|h²hh³hÇh´Kubhú)�”}”(hŒºA flip queue is a ring buffer implemented by the pipe DMC firmware. The driver inserts entries into the queues to be executed by the pipe DMC at a specified presentation timestamp (PTS).”h]”hŒºA flip queue is a ring buffer implemented by the pipe DMC firmware. The driver inserts entries into the queues to be executed by the pipe DMC at a specified presentation timestamp (PTS).”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:19: ./drivers/gpu/drm/i915/display/intel_flipq.c”h´Khj|h²hubhú)�”}”(hŒ&Each pipe DMC provides several queues:”h]”hŒ&Each pipe DMC provides several queues:”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:19: ./drivers/gpu/drm/i915/display/intel_flipq.c”h´Khj|h²hubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ41 general queue (two DSB buffers executed per entry)”h]”hú)�”}”(hj´h]”hŒ41 general queue (two DSB buffers executed per entry)”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:19: ./drivers/gpu/drm/i915/display/intel_flipq.c”h´Khj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hj­ubj±)�”}”(hŒ23 plane queues (one DSB buffer executed per entry)”h]”hú)�”}”(hjÌh]”hŒ23 plane queues (one DSB buffer executed per entry)”…”�”}”(hjÎh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:19: ./drivers/gpu/drm/i915/display/intel_flipq.c”h´K hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hj­ubj±)�”}”(hŒ1 fast queue (deprecated) ”h]”hú)�”}”(hŒ1 fast queue (deprecated)”h]”hŒ1 fast queue (deprecated)”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œp/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:19: ./drivers/gpu/drm/i915/display/intel_flipq.c”h´K!hjâubah}”(h]”h ]”h"]”h$]”h&]”uh1j°hj­ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j«h³jÃh´Khj|h²hubeh}”(h]”Œdmc-flip-queue”ah ]”h"]”Œdmc flip queue”ah$]”h&]”uh1hähhh²hh³hÇh´Kubhå)�”}”(hhh]”(hê)�”}”(hŒDMC wakelock support”h]”hŒDMC wakelock support”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1héhj h²hh³hÇh´Kubhú)�”}”(hXWake lock is the mechanism to cause display engine to exit DC states to allow programming to registers that are powered down in those states. Previous projects exited DC states automatically when detecting programming. Now software controls the exit by programming the wake lock. This improves system performance and system interactions and better fits the flip queue style of programming. Wake lock is only required when DC5, DC6, or DC6v have been enabled in DC_STATE_EN and the wake lock mode of operation has been enabled.”h]”hXWake lock is the mechanism to cause display engine to exit DC states to allow programming to registers that are powered down in those states. Previous projects exited DC states automatically when detecting programming. Now software controls the exit by programming the wake lock. This improves system performance and system interactions and better fits the flip queue style of programming. Wake lock is only required when DC5, DC6, or DC6v have been enabled in DC_STATE_EN and the wake lock mode of operation has been enabled.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:25: ./drivers/gpu/drm/i915/display/intel_dmc_wl.c”h´Khj h²hubhú)�”}”(hX‰The wakelock mechanism in DMC allows the display engine to exit DC states explicitly before programming registers that may be powered down. In earlier hardware, this was done automatically and implicitly when the display engine accessed a register. With the wakelock implementation, the driver asserts a wakelock in DMC, which forces it to exit the DC state until the wakelock is deasserted.”h]”hX‰The wakelock mechanism in DMC allows the display engine to exit DC states explicitly before programming registers that may be powered down. In earlier hardware, this was done automatically and implicitly when the display engine accessed a register. With the wakelock implementation, the driver asserts a wakelock in DMC, which forces it to exit the DC state until the wakelock is deasserted.”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:25: ./drivers/gpu/drm/i915/display/intel_dmc_wl.c”h´Khj h²hubhú)�”}”(hXMThe mechanism can be enabled and disabled by writing to the DMC_WAKELOCK_CFG register. There are also 13 control registers that can be used to hold and release different wakelocks. In the current implementation, we only need one wakelock, so only DMC_WAKELOCK1_CTL is used. The other definitions are here for potential future use.”h]”hXMThe mechanism can be enabled and disabled by writing to the DMC_WAKELOCK_CFG register. There are also 13 control registers that can be used to hold and release different wakelocks. In the current implementation, we only need one wakelock, so only DMC_WAKELOCK1_CTL is used. The other definitions are here for potential future use.”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:25: ./drivers/gpu/drm/i915/display/intel_dmc_wl.c”h´K"hj h²hubhú)�”}”(hXMThis is available starting with Xe2_LPD (display version 20) as an experimental feature and on Xe3_LPD (display version 30) as the first display release with official support. That means that we only enable the feature by default on the latter and using it on the former requires explicitly using the enable_dmc_wl module parameter.”h]”hXMThis is available starting with Xe2_LPD (display version 20) as an experimental feature and on Xe3_LPD (display version 30) as the first display release with official support. That means that we only enable the feature by default on the latter and using it on the former requires explicitly using the enable_dmc_wl module parameter.”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hùh³Œq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/dmc:25: ./drivers/gpu/drm/i915/display/intel_dmc_wl.c”h´K)hj h²hubeh}”(h]”Œdmc-wakelock-support”ah ]”h"]”Œdmc wakelock support”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”}”hã]”hØasŒnameids”}”(juhãjtjqjjj]jZuŒ nametypes”}”(juˆjt‰j‰j]‰uh}”(hãhæjqhæjj"jëjðjujzjöjûjw j| jø jý jy j~ jú jÿ jj|jZj 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”]”hŒsystem_message”“”)�”}”(hhh]”hú)�”}”(hhh]”hŒ;Hyperlink target "drm-intel-display-dmc" is not referenced.”…”�”}”hjísbah}”(h]”h ]”h"]”h$]”h&]”uh1hùhjêubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1jèubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.