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/xe/xe_tilemodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/zh_TW/gpu/xe/xe_tilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/it_IT/gpu/xe/xe_tilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ja_JP/gpu/xe/xe_tilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/ko_KR/gpu/xe/xe_tilemodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget"/translations/sp_SP/gpu/xe/xe_tilemodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h*SPDX-License-Identifier: (GPL-2.0+ OR MIT)h]h*SPDX-License-Identifier: (GPL-2.0+ OR MIT)}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh= 13) h](hterm)}(h;Per-tile functionality (shared by all GTs within the tile):h]h;Per-tile functionality (shared by all GTs within the tile):}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chK= 13) h]h)}(h!Media GT (if media version >= 13)h]h!Media GT (if media version >= 13)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hGSI subset of registers (multiple copies of these registers reside within the complete MMIO space provided by the tile, but at different offsets --- 0 for render, 0x380000 for media)h]h)}(hGSI subset of registers (multiple copies of these registers reside within the complete MMIO space provided by the tile, but at different offsets --- 0 for render, 0x380000 for media)h]hGSI subset of registers (multiple copies of these registers reside within the complete MMIO space provided by the tile, but at different offsets --- 0 for render, 0x380000 for media)}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKBhjVubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hMulticast register steeringh]h)}(hjqh]hMulticast register steering}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKEhjoubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h%TLBs to cache page table translationsh]h)}(hjh]h%TLBs to cache page table translations}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKFhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hReset capabilityh]h)}(hjh]hReset capability}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKGhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h%Low-level power management (e.g., C6)h]h)}(hjh]h%Low-level power management (e.g., C6)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKHhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hClock frequencyh]h)}(hjh]hClock frequency}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.chKIhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hMOCS and PAT programming h]h)}(hMOCS and PAT programmingh]hMOCS and PAT programming}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKJhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]jjuh1jhjhK?hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhjhKJhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhNhNubh)}(hhh](h)}(h Internal APIh]h Internal API}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlexe_tile_alloc (C function)c.xe_tile_allochNtauh1j(hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(h(int xe_tile_alloc (struct xe_tile *tile)h]hdesc_signature_line)}(h'int xe_tile_alloc(struct xe_tile *tile)h](hdesc_sig_keyword_type)}(hinth]hint}(hjLhhhNhNubah}(h]h ]ktah"]h$]h&]uh1jJhjFhhh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKXubhdesc_sig_space)}(h h]h }(hj^hhhNhNubah}(h]h ]wah"]h$]h&]uh1j\hjFhhhj[hKXubh desc_name)}(h xe_tile_alloch]h desc_sig_name)}(h xe_tile_alloch]h xe_tile_alloc}(hjuhhhNhNubah}(h]h ]nah"]h$]h&]uh1jshjoubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jmhjFhhhj[hKXubhdesc_parameterlist)}(h(struct xe_tile *tile)h]hdesc_parameter)}(hstruct xe_tile *tileh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubh)}(hhh]jt)}(hxe_tileh]hxe_tile}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubah}(h]h ]h"]h$]h&] refdomaincreftype identifier reftargetjmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jjwsbc.xe_tile_allocasbuh1hhjubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubhdesc_sig_punctuation)}(h*h]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjubjt)}(htileh]htile}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjFhhhj[hKXubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jDsphinx_line_type declaratorhj@hhhj[hKXubah}(h]j7ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j>hj[hKXhj;hhubh desc_content)}(hhh]h)}(h"Perform per-tile memory allocationh]h"Perform per-tile memory allocation}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKPhj3hhubah}(h]h ]h"]h$]h&]uh1j1hj;hhhj[hKXubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejNdesctypejNnoindex noindexentrynocontentsentryuh1j9hhhjhNhNubh container)}(h**Parameters** ``struct xe_tile *tile`` Tile to perform allocations for **Description** Allocates various per-tile data structures using DRM-managed allocations. Does not touch the hardware. Returns -ENOMEM if allocations fail, otherwise 0.h](h)}(h**Parameters**h]hstrong)}(hj`h]h Parameters}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj^ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKThjZubh)}(hhh]h)}(h9``struct xe_tile *tile`` Tile to perform allocations for h](j)}(h``struct xe_tile *tile``h]hliteral)}(hjh]hstruct xe_tile *tile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKQhj{ubj)}(hhh]h)}(hTile to perform allocations forh]hTile to perform allocations for}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKQhjubah}(h]h ]h"]h$]h&]uh1jhj{ubeh}(h]h ]h"]h$]h&]uh1hhjhKQhjxubah}(h]h ]h"]h$]h&]uh1hhjZubh)}(h**Description**h]jc)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKShjZubh)}(hfAllocates various per-tile data structures using DRM-managed allocations. Does not touch the hardware.h]hfAllocates various per-tile data structures using DRM-managed allocations. Does not touch the hardware.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKShjZubh)}(h1Returns -ENOMEM if allocations fail, otherwise 0.h]h1Returns -ENOMEM if allocations fail, otherwise 0.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKVhjZubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhjhhhNhNubj))}(hhh]h}(h]h ]h"]h$]h&]entries](j5xe_tile_init_early (C function)c.xe_tile_init_earlyhNtauh1j(hjhhhNhNubj:)}(hhh](j?)}(hJint xe_tile_init_early (struct xe_tile *tile, struct xe_device *xe, u8 id)h]jE)}(hIint xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id)h](jK)}(hinth]hint}(hjhhhNhNubah}(h]h ]jWah"]h$]h&]uh1jJhjhhh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKpubj])}(h h]h }(hj!hhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjhhhj hKpubjn)}(hxe_tile_init_earlyh]jt)}(hxe_tile_init_earlyh]hxe_tile_init_early}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jshj/ubah}(h]h ](jjeh"]h$]h&]hhuh1jmhjhhhj hKpubj)}(h3(struct xe_tile *tile, struct xe_device *xe, u8 id)h](j)}(hstruct xe_tile *tileh](j)}(hjh]hstruct}(hjOhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjKubj])}(h h]h }(hj\hhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjKubh)}(hhh]jt)}(hxe_tileh]hxe_tile}(hjmhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjomodnameN classnameNjj)}j]j)}jj5sbc.xe_tile_init_earlyasbuh1hhjKubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjKubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjKubjt)}(htileh]htile}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjKubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjGubj)}(hstruct xe_device *xeh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubh)}(hhh]jt)}(h xe_deviceh]h xe_device}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.xe_tile_init_earlyasbuh1hhjubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubj)}(hjh]h*}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjt)}(hxeh]hxe}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjGubj)}(hu8 idh](h)}(hhh]jt)}(hu8h]hu8}(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jshj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]jc.xe_tile_init_earlyasbuh1hhj-ubj])}(h h]h }(hjRhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hj-ubjt)}(hidh]hid}(hj`hhhNhNubah}(h]h ]jah"]h$]h&]uh1jshj-ubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjGubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj hKpubeh}(h]h ]h"]h$]h&]hhj#uh1jDj$j%hj hhhj hKpubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j>hj hKphjhhubj2)}(hhh]h)}(h"Initialize the tile and primary GTh]h"Initialize the tile and primary GT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKfhjhhubah}(h]h ]h"]h$]h&]uh1j1hjhhhj hKpubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjjTjjUjVjWuh1j9hhhjhNhNubjY)}(hXU**Parameters** ``struct xe_tile *tile`` Tile to initialize ``struct xe_device *xe`` Parent Xe device ``u8 id`` Tile ID **Description** Initializes per-tile resources that don't require any interactions with the hardware or any knowledge about the Graphics/Media IP version. **Return** 0 on success, negative error code on error.h](h)}(h**Parameters**h]jc)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKjhjubh)}(hhh](h)}(h,``struct xe_tile *tile`` Tile to initialize h](j)}(h``struct xe_tile *tile``h]j)}(hjh]hstruct xe_tile *tile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKghjubj)}(hhh]h)}(hTile to initializeh]hTile to initialize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhjhKghjubh)}(h*``struct xe_device *xe`` Parent Xe device h](j)}(h``struct xe_device *xe``h]j)}(hjh]hstruct xe_device *xe}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhhjubj)}(hhh]h)}(hParent Xe deviceh]hParent Xe device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhjhKhhjubh)}(h``u8 id`` Tile ID h](j)}(h ``u8 id``h]j)}(hj=h]hu8 id}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKihj7ubj)}(hhh]h)}(hTile IDh]hTile ID}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjRhKihjSubah}(h]h ]h"]h$]h&]uh1jhj7ubeh}(h]h ]h"]h$]h&]uh1hhjRhKihjubeh}(h]h ]h"]h$]h&]uh1hhjubh)}(h**Description**h]jc)}(hjxh]h Description}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjvubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKkhjubh)}(hInitializes per-tile resources that don't require any interactions with the hardware or any knowledge about the Graphics/Media IP version.h]hInitializes per-tile resources that don’t require any interactions with the hardware or any knowledge about the Graphics/Media IP version.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKkhjubh)}(h **Return**h]jc)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKnhjubh)}(h+0 on success, negative error code on error.h]h+0 on success, negative error code on error.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKnhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhjhhhNhNubj))}(hhh]h}(h]h ]h"]h$]h&]entries](j5!xe_tile_init_noalloc (C function)c.xe_tile_init_noallochNtauh1j(hjhhhNhNubj:)}(hhh](j?)}(h/int xe_tile_init_noalloc (struct xe_tile *tile)h]jE)}(h.int xe_tile_init_noalloc(struct xe_tile *tile)h](jK)}(hinth]hint}(hjhhhNhNubah}(h]h ]jWah"]h$]h&]uh1jJhjhhh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKubj])}(h h]h }(hjhhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjhhhjhKubjn)}(hxe_tile_init_noalloch]jt)}(hxe_tile_init_noalloch]hxe_tile_init_noalloc}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubah}(h]h ](jjeh"]h$]h&]hhuh1jmhjhhhjhKubj)}(h(struct xe_tile *tile)h]j)}(hstruct xe_tile *tileh](j)}(hjh]hstruct}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj])}(h h]h }(hj.hhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubh)}(hhh]jt)}(hxe_tileh]hxe_tile}(hj?hhhNhNubah}(h]h ]jah"]h$]h&]uh1jshj<ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjAmodnameN classnameNjj)}j]j)}jjsbc.xe_tile_init_noallocasbuh1hhjubj])}(h h]h }(hj_hhhNhNubah}(h]h ]jiah"]h$]h&]uh1j\hjubj)}(hjh]h*}(hjmhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjt)}(htileh]htile}(hjzhhhNhNubah}(h]h ]jah"]h$]h&]uh1jshjubeh}(h]h ]h"]h$]h&]noemphhhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]hhj#uh1jDj$j%hjhhhjhKubah}(h]jah ](j)j*eh"]h$]h&]j.j/)j0huh1j>hjhKhjhhubj2)}(hhh]h)}(h7Init tile up to the point where allocations can happen.h]h7Init tile up to the point where allocations can happen.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjhhubah}(h]h ]h"]h$]h&]uh1j1hjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jRjjSjjTjjUjVjWuh1j9hhhjhNhNubjY)}(hX***Parameters** ``struct xe_tile *tile`` The tile to initialize. **Description** This function prepares the tile to allow memory allocations to VRAM, but is not allowed to allocate memory itself. This state is useful for display readout, because the inherited display framebuffer will otherwise be overwritten as it is usually put at the start of VRAM. Note that since this is tile initialization, it should not perform any GT-specific operations, and thus does not need to hold GT forcewake. **Return** 0 on success, negative error code on error.h](h)}(h**Parameters**h]jc)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubh)}(hhh]h)}(h1``struct xe_tile *tile`` The tile to initialize. h](j)}(h``struct xe_tile *tile``h]j)}(hjh]hstruct xe_tile *tile}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubj)}(hhh]h)}(hThe tile to initialize.h]hThe tile to initialize.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(h**Description**h]jc)}(hj h]h Description}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhj ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubh)}(hXThis function prepares the tile to allow memory allocations to VRAM, but is not allowed to allocate memory itself. This state is useful for display readout, because the inherited display framebuffer will otherwise be overwritten as it is usually put at the start of VRAM.h]hXThis function prepares the tile to allow memory allocations to VRAM, but is not allowed to allocate memory itself. This state is useful for display readout, because the inherited display framebuffer will otherwise be overwritten as it is usually put at the start of VRAM.}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubh)}(hNote that since this is tile initialization, it should not perform any GT-specific operations, and thus does not need to hold GT forcewake.h]hNote that since this is tile initialization, it should not perform any GT-specific operations, and thus does not need to hold GT forcewake.}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubh)}(h **Return**h]jc)}(hjV h]hReturn}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jbhjT ubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubh)}(h+0 on success, negative error code on error.h]h+0 on success, negative error code on error.}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hh[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jXhjhhhNhNubeh}(h] internal-apiah ]h"] internal apiah$]h&]uh1hhhhhhhhK ubeh}(h]multi-tile-devicesah ]h"]multi-tile devicesah$]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_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j j j j u nametypes}(j j uh}(j hj jj7j@jj jju 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.