sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget+/translations/zh_CN/gpu/intel-display/planemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/pt_BR/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/gpu/intel-display/planemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(hSPDX-License-Identifier: MITh]hSPDX-License-Identifier: MIT}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane.rsthKubh)}(h#Copyright © 2026 Intel Corporationh]h#Copyright © 2026 Intel Corporation}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubhsection)}(hhh](htitle)}(hAtomic Plane Helpersh]hAtomic Plane Helpers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX0The functions here are used by the atomic plane helper functions to implement legacy plane updates (i.e., drm_plane->update_plane() and drm_plane->disable_plane()). This allows plane updates to use the atomic state infrastructure and perform plane updates as separate prepare/check/commit/cleanup steps.h]hX0The functions here are used by the atomic plane helper functions to implement legacy plane updates (i.e., drm_plane->update_plane() and drm_plane->disable_plane()). This allows plane updates to use the atomic state infrastructure and perform plane updates as separate prepare/check/commit/cleanup steps.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhq/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:7: ./drivers/gpu/drm/i915/display/intel_plane.chKhhhhubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single intel_plane_destroy (C function)c.intel_plane_destroyhNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(h2void intel_plane_destroy (struct drm_plane *plane)h]hdesc_signature_line)}(h1void intel_plane_destroy(struct drm_plane *plane)h](hdesc_sig_keyword_type)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]ktah"]h$]h&]uh1jhjhhhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKiubhdesc_sig_space)}(h h]h }(hj2hhhNhNubah}(h]h ]wah"]h$]h&]uh1j0hjhhhj/hKiubh desc_name)}(hintel_plane_destroyh]h desc_sig_name)}(hintel_plane_destroyh]hintel_plane_destroy}(hjIhhhNhNubah}(h]h ]nah"]h$]h&]uh1jGhjCubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jAhjhhhj/hKiubhdesc_parameterlist)}(h(struct drm_plane *plane)h]hdesc_parameter)}(hstruct drm_plane *planeh](hdesc_sig_keyword)}(hstructh]hstruct}(hjnhhhNhNubah}(h]h ]kah"]h$]h&]uh1jlhjhubj1)}(h h]h }(hj}hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhubh)}(hhh]jH)}(h drm_planeh]h drm_plane}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjKsbc.intel_plane_destroyasbuh1hhjhubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjhubjH)}(hplaneh]hplane}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjhubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjbubah}(h]h ]h"]h$]h&]hhuh1j`hjhhhj/hKiubeh}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jsphinx_line_type declaratorhjhhhj/hKiubah}(h]j ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhj/hKihjhhubh desc_content)}(hhh]h)}(hdestroy a planeh]hdestroy a plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKihjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhj/hKiubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypej"desctypej"noindex noindexentrynocontentsentryuh1j hhhhhNhNubh container)}(h**Parameters** ``struct drm_plane *plane`` plane to destroy **Description** Common destruction function for all types of planes (primary, cursor, sprite).h](h)}(h**Parameters**h]hstrong)}(hj4h]h Parameters}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1j6hj2ubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKmhj.ubhdefinition_list)}(hhh]hdefinition_list_item)}(h-``struct drm_plane *plane`` plane to destroy h](hterm)}(h``struct drm_plane *plane``h]hliteral)}(hj[h]hstruct drm_plane *plane}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1j]hjYubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKjhjSubh definition)}(hhh]h)}(hplane to destroyh]hplane to destroy}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhKjhjuubah}(h]h ]h"]h$]h&]uh1jshjSubeh}(h]h ]h"]h$]h&]uh1jQhjrhKjhjNubah}(h]h ]h"]h$]h&]uh1jLhj.ubh)}(h**Description**h]j7)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKlhj.ubh)}(hNCommon destruction function for all types of planes (primary, cursor, sprite).h]hNCommon destruction function for all types of planes (primary, cursor, sprite).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKkhj.ubeh}(h]h ] kernelindentah"]h$]h&]uh1j,hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j (intel_plane_duplicate_state (C function)c.intel_plane_duplicate_statehNtauh1hhhhhhNhNubj)}(hhh](j)}(hNstruct drm_plane_state * intel_plane_duplicate_state (struct drm_plane *plane)h]j)}(hLstruct drm_plane_state *intel_plane_duplicate_state(struct drm_plane *plane)h](jm)}(hjph]hstruct}(hjhhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhjhhhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKvubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhhhjhKvubh)}(hhh]jH)}(hdrm_plane_stateh]hdrm_plane_state}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jintel_plane_duplicate_statesbc.intel_plane_duplicate_stateasbuh1hhjhhhjhKvubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhhhjhKvubj)}(hjh]h*}(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKvubjB)}(hintel_plane_duplicate_stateh]jH)}(hjh]hintel_plane_duplicate_state}(hj>hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj:ubah}(h]h ](j[j\eh"]h$]h&]hhuh1jAhjhhhjhKvubja)}(h(struct drm_plane *plane)h]jg)}(hstruct drm_plane *planeh](jm)}(hjph]hstruct}(hjYhhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhjUubj1)}(h h]h }(hjfhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjUubh)}(hhh]jH)}(h drm_planeh]h drm_plane}(hjwhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjtubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjymodnameN classnameNjj)}j]jc.intel_plane_duplicate_stateasbuh1hhjUubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjUubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjUubjH)}(hplaneh]hplane}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjUubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjQubah}(h]h ]h"]h$]h&]hhuh1j`hjhhhjhKvubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhKvubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKvhjhhubj)}(hhh]h)}(hduplicate plane stateh]hduplicate plane state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKvhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKvubeh}(h]h ](jfunctioneh"]h$]h&]j&jj'jj(jj)j*j+uh1j hhhhhNhNubj-)}(h**Parameters** ``struct drm_plane *plane`` drm plane **Description** Allocates and returns a copy of the plane state (both common and Intel-specific) for the specified plane. **Return** The newly allocated plane state, or NULL on failure.h](h)}(h**Parameters**h]j7)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKzhjubjM)}(hhh]jR)}(h&``struct drm_plane *plane`` drm plane h](jX)}(h``struct drm_plane *plane``h]j^)}(hjh]hstruct drm_plane *plane}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j]hjubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKwhjubjt)}(hhh]h)}(h drm planeh]h drm plane}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj0hKwhj1ubah}(h]h ]h"]h$]h&]uh1jshjubeh}(h]h ]h"]h$]h&]uh1jQhj0hKwhjubah}(h]h ]h"]h$]h&]uh1jLhjubh)}(h**Description**h]j7)}(hjVh]h Description}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjTubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKyhjubh)}(hiAllocates and returns a copy of the plane state (both common and Intel-specific) for the specified plane.h]hiAllocates and returns a copy of the plane state (both common and Intel-specific) for the specified plane.}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKxhjubh)}(h **Return**h]j7)}(hj}h]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hj{ubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chK{hjubh)}(h4The newly allocated plane state, or NULL on failure.h]h4The newly allocated plane state, or NULL on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chK|hjubeh}(h]h ] kernelindentah"]h$]h&]uh1j,hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j &intel_plane_destroy_state (C function)c.intel_plane_destroy_statehNtauh1hhhhhhNhNubj)}(hhh](j)}(hWvoid intel_plane_destroy_state (struct drm_plane *plane, struct drm_plane_state *state)h]j)}(hVvoid intel_plane_destroy_state(struct drm_plane *plane, struct drm_plane_state *state)h](j)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j+ah"]h$]h&]uh1jhjhhhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhhhjhKubjB)}(hintel_plane_destroy_stateh]jH)}(hintel_plane_destroy_stateh]hintel_plane_destroy_state}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ](j[j\eh"]h$]h&]hhuh1jAhjhhhjhKubja)}(h8(struct drm_plane *plane, struct drm_plane_state *state)h](jg)}(hstruct drm_plane *planeh](jm)}(hjph]hstruct}(hjhhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhjubj1)}(h h]h }(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjubh)}(hhh]jH)}(h drm_planeh]h drm_plane}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.intel_plane_destroy_stateasbuh1hhjubj1)}(h h]h }(hj=hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjubj)}(hjh]h*}(hjKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjH)}(hplaneh]hplane}(hjXhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjubjg)}(hstruct drm_plane_state *stateh](jm)}(hjph]hstruct}(hjqhhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhjmubj1)}(h h]h }(hj~hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjmubh)}(hhh]jH)}(hdrm_plane_stateh]hdrm_plane_state}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j9c.intel_plane_destroy_stateasbuh1hhjmubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjmubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjmubjH)}(hstateh]hstate}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjmubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjubeh}(h]h ]h"]h$]h&]hhuh1j`hjhhhjhKubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(hdestroy plane stateh]hdestroy plane state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]j&jj'j j(j j)j*j+uh1j hhhhhNhNubj-)}(h**Parameters** ``struct drm_plane *plane`` drm plane ``struct drm_plane_state *state`` state object to destroy **Description** Destroys the plane state (both common and Intel-specific) for the specified plane.h](h)}(h**Parameters**h]j7)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhjubjM)}(hhh](jR)}(h&``struct drm_plane *plane`` drm plane h](jX)}(h``struct drm_plane *plane``h]j^)}(hj3h]hstruct drm_plane *plane}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1j]hj1ubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhj-ubjt)}(hhh]h)}(h drm planeh]h drm plane}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhKhjIubah}(h]h ]h"]h$]h&]uh1jshj-ubeh}(h]h ]h"]h$]h&]uh1jQhjHhKhj*ubjR)}(h:``struct drm_plane_state *state`` state object to destroy h](jX)}(h!``struct drm_plane_state *state``h]j^)}(hjlh]hstruct drm_plane_state *state}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1j]hjjubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhjfubjt)}(hhh]h)}(hstate object to destroyh]hstate object to destroy}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jshjfubeh}(h]h ]h"]h$]h&]uh1jQhjhKhj*ubeh}(h]h ]h"]h$]h&]uh1jLhjubh)}(h**Description**h]j7)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhjubh)}(hRDestroys the plane state (both common and Intel-specific) for the specified plane.h]hRDestroys the plane state (both common and Intel-specific) for the specified plane.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j,hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j #intel_prepare_plane_fb (C function)c.intel_prepare_plane_fbhNtauh1hhhhhhNhNubj)}(hhh](j)}(h_int intel_prepare_plane_fb (struct drm_plane *_plane, struct drm_plane_state *_new_plane_state)h]j)}(h^int intel_prepare_plane_fb(struct drm_plane *_plane, struct drm_plane_state *_new_plane_state)h](j)}(hinth]hint}(hjhhhNhNubah}(h]h ]j+ah"]h$]h&]uh1jhjhhhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chM]ubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjhhhjhM]ubjB)}(hintel_prepare_plane_fbh]jH)}(hintel_prepare_plane_fbh]hintel_prepare_plane_fb}(hj hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj ubah}(h]h ](j[j\eh"]h$]h&]hhuh1jAhjhhhjhM]ubja)}(hD(struct drm_plane *_plane, struct drm_plane_state *_new_plane_state)h](jg)}(hstruct drm_plane *_planeh](jm)}(hjph]hstruct}(hj)hhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhj%ubj1)}(h h]h }(hj6hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj%ubh)}(hhh]jH)}(h drm_planeh]h drm_plane}(hjGhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjDubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjImodnameN classnameNjj)}j]j)}jjsbc.intel_prepare_plane_fbasbuh1hhj%ubj1)}(h h]h }(hjghhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj%ubj)}(hjh]h*}(hjuhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubjH)}(h_planeh]h_plane}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj%ubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhj!ubjg)}(h(struct drm_plane_state *_new_plane_stateh](jm)}(hjph]hstruct}(hjhhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhjubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjubh)}(hhh]jH)}(hdrm_plane_stateh]hdrm_plane_state}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jcc.intel_prepare_plane_fbasbuh1hhjubj1)}(h h]h }(hjhhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjH)}(h_new_plane_stateh]h_new_plane_state}(hjhhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhj!ubeh}(h]h ]h"]h$]h&]hhuh1j`hjhhhjhM]ubeh}(h]h ]h"]h$]h&]hhjuh1jjjhjhhhjhM]ubah}(h]jah ](jjeh"]h$]h&]jj)jhuh1jhjhM]hjhhubj)}(hhh]h)}(hPrepare fb for usage on planeh]hPrepare fb for usage on plane}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chM]hjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhM]ubeh}(h]h ](jfunctioneh"]h$]h&]j&jj'j4j(j4j)j*j+uh1j hhhhhNhNubj-)}(hX**Parameters** ``struct drm_plane *_plane`` drm plane to prepare for ``struct drm_plane_state *_new_plane_state`` the plane state being prepared **Description** Prepares a framebuffer for usage on a display plane. Generally this involves pinning the underlying object and updating the frontbuffer tracking bits. Some older platforms need special physical address handling for cursor planes. Returns 0 on success, negative error code on failure.h](h)}(h**Parameters**h]j7)}(hj>h]h Parameters}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j6hj<ubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMahj8ubjM)}(hhh](jR)}(h6``struct drm_plane *_plane`` drm plane to prepare for h](jX)}(h``struct drm_plane *_plane``h]j^)}(hj]h]hstruct drm_plane *_plane}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1j]hj[ubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chM^hjWubjt)}(hhh]h)}(hdrm plane to prepare forh]hdrm plane to prepare for}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrhM^hjsubah}(h]h ]h"]h$]h&]uh1jshjWubeh}(h]h ]h"]h$]h&]uh1jQhjrhM^hjTubjR)}(hL``struct drm_plane_state *_new_plane_state`` the plane state being prepared h](jX)}(h,``struct drm_plane_state *_new_plane_state``h]j^)}(hjh]h(struct drm_plane_state *_new_plane_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j]hjubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chM_hjubjt)}(hhh]h)}(hthe plane state being preparedh]hthe plane state being prepared}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM_hjubah}(h]h ]h"]h$]h&]uh1jshjubeh}(h]h ]h"]h$]h&]uh1jQhjhM_hjTubeh}(h]h ]h"]h$]h&]uh1jLhj8ubh)}(h**Description**h]j7)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j6hjubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMahj8ubh)}(hPrepares a framebuffer for usage on a display plane. Generally this involves pinning the underlying object and updating the frontbuffer tracking bits. Some older platforms need special physical address handling for cursor planes.h]hPrepares a framebuffer for usage on a display plane. Generally this involves pinning the underlying object and updating the frontbuffer tracking bits. Some older platforms need special physical address handling for cursor planes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chM`hj8ubh)}(h5Returns 0 on success, negative error code on failure.h]h5Returns 0 on success, negative error code on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMehj8ubeh}(h]h ] kernelindentah"]h$]h&]uh1j,hhhhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j #intel_cleanup_plane_fb (C function)c.intel_cleanup_plane_fbhNtauh1hhhhhhNhNubj)}(hhh](j)}(h_void intel_cleanup_plane_fb (struct drm_plane *plane, struct drm_plane_state *_old_plane_state)h]j)}(h^void intel_cleanup_plane_fb(struct drm_plane *plane, struct drm_plane_state *_old_plane_state)h](j)}(hvoidh]hvoid}(hj% hhhNhNubah}(h]h ]j+ah"]h$]h&]uh1jhj! hhhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMubj1)}(h h]h }(hj4 hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj! hhhj3 hMubjB)}(hintel_cleanup_plane_fbh]jH)}(hintel_cleanup_plane_fbh]hintel_cleanup_plane_fb}(hjF hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhjB ubah}(h]h ](j[j\eh"]h$]h&]hhuh1jAhj! hhhj3 hMubja)}(hC(struct drm_plane *plane, struct drm_plane_state *_old_plane_state)h](jg)}(hstruct drm_plane *planeh](jm)}(hjph]hstruct}(hjb hhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhj^ ubj1)}(h h]h }(hjo hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj^ ubh)}(hhh]jH)}(h drm_planeh]h drm_plane}(hj hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj} ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j)}jjH sbc.intel_cleanup_plane_fbasbuh1hhj^ ubj1)}(h h]h }(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj^ ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ ubjH)}(hplaneh]hplane}(hj hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj^ ubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjZ ubjg)}(h(struct drm_plane_state *_old_plane_stateh](jm)}(hjph]hstruct}(hj hhhNhNubah}(h]h ]jyah"]h$]h&]uh1jlhj ubj1)}(h h]h }(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj ubh)}(hhh]jH)}(hdrm_plane_stateh]hdrm_plane_state}(hj hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj modnameN classnameNjj)}j]j c.intel_cleanup_plane_fbasbuh1hhj ubj1)}(h h]h }(hj hhhNhNubah}(h]h ]j=ah"]h$]h&]uh1j0hj ubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjH)}(h_old_plane_stateh]h_old_plane_state}(hj+ hhhNhNubah}(h]h ]jTah"]h$]h&]uh1jGhj ubeh}(h]h ]h"]h$]h&]noemphhhuh1jfhjZ ubeh}(h]h ]h"]h$]h&]hhuh1j`hj! hhhj3 hMubeh}(h]h ]h"]h$]h&]hhjuh1jjjhj hhhj3 hMubah}(h]j ah ](jjeh"]h$]h&]jj)jhuh1jhj3 hMhj hhubj)}(hhh]h)}(hCleans up an fb after plane useh]hCleans up an fb after plane use}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhjR hhubah}(h]h ]h"]h$]h&]uh1jhj hhhj3 hMubeh}(h]h ](jfunctioneh"]h$]h&]j&jj'jm j(jm j)j*j+uh1j hhhhhNhNubj-)}(h**Parameters** ``struct drm_plane *plane`` drm plane to clean up for ``struct drm_plane_state *_old_plane_state`` the state from the previous modeset **Description** Cleans up a framebuffer that has just been removed from a plane.h](h)}(h**Parameters**h]j7)}(hjw h]h Parameters}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1j6hju ubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhjq ubjM)}(hhh](jR)}(h6``struct drm_plane *plane`` drm plane to clean up for h](jX)}(h``struct drm_plane *plane``h]j^)}(hj h]hstruct drm_plane *plane}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j]hj ubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhj ubjt)}(hhh]h)}(hdrm plane to clean up forh]hdrm plane to clean up for}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jshj ubeh}(h]h ]h"]h$]h&]uh1jQhj hMhj ubjR)}(hQ``struct drm_plane_state *_old_plane_state`` the state from the previous modeset h](jX)}(h,``struct drm_plane_state *_old_plane_state``h]j^)}(hj h]h(struct drm_plane_state *_old_plane_state}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j]hj ubah}(h]h ]h"]h$]h&]uh1jWhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhj ubjt)}(hhh]h)}(h#the state from the previous modeseth]h#the state from the previous modeset}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jshj ubeh}(h]h ]h"]h$]h&]uh1jQhj hMhj ubeh}(h]h ]h"]h$]h&]uh1jLhjq ubh)}(h**Description**h]j7)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j6hj ubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhjq ubh)}(h@Cleans up a framebuffer that has just been removed from a plane.h]h@Cleans up a framebuffer that has just been removed from a plane.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhr/var/lib/git/docbuild/linux/Documentation/gpu/intel-display/plane:10: ./drivers/gpu/drm/i915/display/intel_plane.chMhjq ubeh}(h]h ] kernelindentah"]h$]h&]uh1j,hhhhhNhNubeh}(h]atomic-plane-helpersah ]h"]atomic plane helpersah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerja error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}j; j8 s nametypes}j; sh}(j8 hj jjjjjjjj j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.