€•µ²Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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/xe/xe_tile”Œ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: (GPL-2.0+ OR MIT)”h]”hŒ*SPDX-License-Identifier: (GPL-2.0+ OR MIT)”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³Œ= 13) ”h]”(hŒterm”“”)�”}”(hŒ;Per-tile functionality (shared by all GTs within the tile):”h]”hŒ;Per-tile functionality (shared by all GTs within the tile):”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´K@hjubhŒ definition”“”)�”}”(hhh]”hŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ`Complete 4MB MMIO space (containing SGunit/SoC registers, GT registers, display registers, etc.)”h]”hÞ)�”}”(hŒ`Complete 4MB MMIO space (containing SGunit/SoC registers, GT registers, display registers, etc.)”h]”hŒ`Complete 4MB MMIO space (containing SGunit/SoC registers, GT registers, display registers, etc.)”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´K8hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubj3)�”}”(hŒ Global GTT”h]”hÞ)�”}”(hjOh]”hŒ Global GTT”…”�”}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´K:hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubj3)�”}”(hŒVRAM (if discrete)”h]”hÞ)�”}”(hjgh]”hŒVRAM (if discrete)”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´K;hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubj3)�”}”(hŒInterrupt flows”h]”hÞ)�”}”(hjh]”hŒInterrupt flows”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´Khj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubj3)�”}”(hŒ Primary GT”h]”hÞ)�”}”(hjÇh]”hŒ Primary GT”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´K?hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubj3)�”}”(hŒ"Media GT (if media version >= 13) ”h]”hÞ)�”}”(hŒ!Media GT (if media version >= 13)”h]”hŒ!Media GT (if media version >= 13)”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j'h´K@hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hj/ubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j-h³jFh´K8hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j'h´K@hjubj)�”}”(hXÊPer-GT functionality: - GuC - Hardware engines - Programmable hardware units (subslices, EUs) - GSI 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) - Multicast register steering - TLBs to cache page table translations - Reset capability - Low-level power management (e.g., C6) - Clock frequency - MOCS and PAT programming ”h]”(j)�”}”(hŒPer-GT functionality:”h]”hŒPer-GT functionality:”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KOhj ubj))�”}”(hhh]”j.)�”}”(hhh]”(j3)�”}”(hŒGuC”h]”hÞ)�”}”(hj$h]”hŒGuC”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KChj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒHardware engines”h]”hÞ)�”}”(hj<h]”hŒHardware engines”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KDhj:ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒ,Programmable hardware units (subslices, EUs)”h]”hÞ)�”}”(hjTh]”hŒ,Programmable hardware units (subslices, EUs)”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KEhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒ¶GSI 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Þ)�”}”(hŒ¶GSI 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Œ¶GSI 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)”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KFhjjubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒMulticast register steering”h]”hÞ)�”}”(hj…h]”hŒMulticast register steering”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KIhjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒ%TLBs to cache page table translations”h]”hÞ)�”}”(hj�h]”hŒ%TLBs to cache page table translations”…”�”}”(hjŸh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KJhj›ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒReset capability”h]”hÞ)�”}”(hjµh]”hŒReset capability”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KKhj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒ%Low-level power management (e.g., C6)”h]”hÞ)�”}”(hjÍh]”hŒ%Low-level power management (e.g., C6)”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KLhjËubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒClock frequency”h]”hÞ)�”}”(hjåh]”hŒClock frequency”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KMhjãubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubj3)�”}”(hŒMOCS and PAT programming ”h]”hÞ)�”}”(hŒMOCS and PAT programming”h]”hŒMOCS and PAT programming”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³ŒZ/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:7: ./drivers/gpu/drm/xe/xe_tile.c”h´KNhjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j2hjubeh}”(h]”h ]”h"]”h$]”h&]”jûjüuh1j-h³j3h´KChjubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´KOhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hhÊh²hh³Nh´NubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Internal API”h]”hŒ Internal API”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj,h²hh³hÇh´K ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œxe_tile_alloc (C function)”Œc.xe_tile_alloc”hNt”auh1j=hj,h²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ(int xe_tile_alloc (struct xe_tile *tile)”h]”hŒdesc_signature_line”“”)�”}”(hŒ'int xe_tile_alloc(struct xe_tile *tile)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j_hj[h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KTubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jqhj[h²hh³jph´KTubhŒ desc_name”“”)�”}”(hŒ xe_tile_alloc”h]”hŒ desc_sig_name”“”)�”}”(hŒ xe_tile_alloc”h]”hŒ xe_tile_alloc”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jˆhj„ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j‚hj[h²hh³jph´KTubhŒdesc_parameterlist”“”)�”}”(hŒ(struct xe_tile *tile)”h]”hŒdesc_parameter”“”)�”}”(hŒstruct xe_tile *tile”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j­hj©ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj©ubh)�”}”(hhh]”j‰)�”}”(hŒxe_tile”h]”hŒxe_tile”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjÌubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”jÑŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”jëŒ ASTIdentifier”“”)�”}”jæjŒsbŒc.xe_tile_alloc”†”asbuh1hhj©ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj©ubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jhj©ubj‰)�”}”(hŒtile”h]”hŒtile”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj©ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hj£ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¡hj[h²hh³jph´KTubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jYŒsphinx_line_type”Œ declarator”hjUh²hh³jph´KTubah}”(h]”jLah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jSh³jph´KThjPh²hubhŒ desc_content”“”)�”}”(hhh]”hÞ)�”}”(hŒ"Perform per-tile memory allocation”h]”hŒ"Perform per-tile memory allocation”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KThjHh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjPh²hh³jph´KTubeh}”(h]”h ]”(jäŒfunction”eh"]”h$]”h&]”Œdomain”jäŒobjtype”jcŒdesctype”jcŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jNh²hhj,h³Nh´NubhŒ 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]”hŒstrong”“”)�”}”(hjuh]”hŒ Parameters”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KXhjoubj )�”}”(hhh]”j)�”}”(hŒ9``struct xe_tile *tile`` Tile to perform allocations for ”h]”(j)�”}”(hŒ``struct xe_tile *tile``”h]”hŒliteral”“”)�”}”(hj–h]”hŒstruct xe_tile *tile”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KUhj�ubj))�”}”(hhh]”hÞ)�”}”(hŒTile to perform allocations for”h]”hŒTile to perform allocations for”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j­h´KUhj®ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j­h´KUhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjoubhÞ)�”}”(hŒ**Description**”h]”jx)�”}”(hjÓh]”hŒ Description”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KWhjoubhÞ)�”}”(hŒfAllocates various per-tile data structures using DRM-managed allocations. Does not touch the hardware.”h]”hŒfAllocates various per-tile data structures using DRM-managed allocations. Does not touch the hardware.”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KVhjoubhÞ)�”}”(hŒ1Returns -ENOMEM if allocations fail, otherwise 0.”h]”hŒ1Returns -ENOMEM if allocations fail, otherwise 0.”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KYhjoubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jmhj,h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒxe_tile_alloc_vram (C function)”Œc.xe_tile_alloc_vram”hNt”auh1j=hj,h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ-int xe_tile_alloc_vram (struct xe_tile *tile)”h]”jZ)�”}”(hŒ,int xe_tile_alloc_vram(struct xe_tile *tile)”h]”(j`)�”}”(hŒint”h]”hŒint”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj#h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kjubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj#h²hh³j5h´Kjubjƒ)�”}”(hŒxe_tile_alloc_vram”h]”j‰)�”}”(hŒxe_tile_alloc_vram”h]”hŒxe_tile_alloc_vram”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjDubah}”(h]”h ]”(jœj�eh"]”h$]”h&]”hÅhÆuh1j‚hj#h²hh³j5h´Kjubj¢)�”}”(hŒ(struct xe_tile *tile)”h]”j¨)�”}”(hŒstruct xe_tile *tile”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hj`ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj`ubh)�”}”(hhh]”j‰)�”}”(hŒxe_tile”h]”hŒxe_tile”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”j„Œmodname”NŒ classname”Njêjí)�”}”jð]”jó)�”}”jæjJsbŒc.xe_tile_alloc_vram”†”asbuh1hhj`ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj`ubj)�”}”(hj h]”hŒ*”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj`ubj‰)�”}”(hŒtile”h]”hŒtile”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj`ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hj\ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¡hj#h²hh³j5h´Kjubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj8ˆuh1jYj9j:hjh²hh³j5h´Kjubah}”(h]”jah ]”(j>j?eh"]”h$]”h&]”jCˆjD)jEhuh1jSh³j5h´Kjhjh²hubjG)�”}”(hhh]”hÞ)�”}”(hŒ(Perform per-tile VRAM structs allocation”h]”hŒ(Perform per-tile VRAM structs allocation”…”�”}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kjhjäh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhjh²hh³j5h´Kjubeh}”(h]”h ]”(jäŒfunction”eh"]”h$]”h&]”jgjäjhjÿjijÿjj‰jk‰jl‰uh1jNh²hhj,h³Nh´Nubjn)�”}”(hŒó**Parameters** ``struct xe_tile *tile`` Tile to perform allocations for **Description** Allocates VRAM 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]”jx)�”}”(hj h]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Knhjubj )�”}”(hhh]”j)�”}”(hŒ9``struct xe_tile *tile`` Tile to perform allocations for ”h]”(j)�”}”(hŒ``struct xe_tile *tile``”h]”j™)�”}”(hj(h]”hŒstruct xe_tile *tile”…”�”}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kkhj"ubj))�”}”(hhh]”hÞ)�”}”(hŒTile to perform allocations for”h]”hŒTile to perform allocations for”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j=h´Kkhj>ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j=h´Kkhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjubhÞ)�”}”(hŒ**Description**”h]”jx)�”}”(hjch]”hŒ Description”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjaubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KmhjubhÞ)�”}”(hŒcAllocates VRAM per-tile data structures using DRM-managed allocations. Does not touch the hardware.”h]”hŒcAllocates VRAM per-tile data structures using DRM-managed allocations. Does not touch the hardware.”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KlhjubhÞ)�”}”(hŒ1Returns -ENOMEM if allocations fail, otherwise 0.”h]”hŒ1Returns -ENOMEM if allocations fail, otherwise 0.”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kohjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jmhj,h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒxe_tile_init_early (C function)”Œc.xe_tile_init_early”hNt”auh1j=hj,h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒJint xe_tile_init_early (struct xe_tile *tile, struct xe_device *xe, u8 id)”h]”jZ)�”}”(hŒIint xe_tile_init_early(struct xe_tile *tile, struct xe_device *xe, u8 id)”h]”(j`)�”}”(hŒint”h]”hŒint”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj³h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K‹ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj³h²hh³jÅh´K‹ubjƒ)�”}”(hŒxe_tile_init_early”h]”j‰)�”}”(hŒxe_tile_init_early”h]”hŒxe_tile_init_early”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjÔubah}”(h]”h ]”(jœj�eh"]”h$]”h&]”hÅhÆuh1j‚hj³h²hh³jÅh´K‹ubj¢)�”}”(hŒ3(struct xe_tile *tile, struct xe_device *xe, u8 id)”h]”(j¨)�”}”(hŒstruct xe_tile *tile”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hjðubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjðubh)�”}”(hhh]”j‰)�”}”(hŒxe_tile”h]”hŒxe_tile”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”jŒmodname”NŒ classname”Njêjí)�”}”jð]”jó)�”}”jæjÚsbŒc.xe_tile_init_early”†”asbuh1hhjðubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjðubj)�”}”(hj h]”hŒ*”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjðubj‰)�”}”(hŒtile”h]”hŒtile”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjðubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hjìubj¨)�”}”(hŒstruct xe_device *xe”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hjfh²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hjbubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjbubh)�”}”(hhh]”j‰)�”}”(hŒ xe_device”h]”hŒ xe_device”…”�”}”(hj„h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj�ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”j†Œmodname”NŒ classname”Njêjí)�”}”jð]”j.Œc.xe_tile_init_early”†”asbuh1hhjbubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjbubj)�”}”(hj h]”hŒ*”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjbubj‰)�”}”(hŒxe”h]”hŒxe”…”�”}”(hj½h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjbubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hjìubj¨)�”}”(hŒu8 id”h]”(h)�”}”(hhh]”j‰)�”}”(hŒu8”h]”hŒu8”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjÖubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”jÛŒmodname”NŒ classname”Njêjí)�”}”jð]”j.Œc.xe_tile_init_early”†”asbuh1hhjÒubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhjÒubj‰)�”}”(hŒid”h]”hŒid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjÒubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hjìubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¡hj³h²hh³jÅh´K‹ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj8ˆuh1jYj9j:hj¯h²hh³jÅh´K‹ubah}”(h]”jªah ]”(j>j?eh"]”h$]”h&]”jCˆjD)jEhuh1jSh³jÅh´K‹hj¬h²hubjG)�”}”(hhh]”hÞ)�”}”(hŒ"Initialize the tile and primary GT”h]”hŒ"Initialize the tile and primary GT”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K‹hj,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj¬h²hh³jÅh´K‹ubeh}”(h]”h ]”(jäŒfunction”eh"]”h$]”h&]”jgjäjhjGjijGjj‰jk‰jl‰uh1jNh²hhj,h³Nh´Nubjn)�”}”(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]”jx)�”}”(hjQh]”hŒ Parameters”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjOubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K�hjKubj )�”}”(hhh]”(j)�”}”(hŒ,``struct xe_tile *tile`` Tile to initialize ”h]”(j)�”}”(hŒ``struct xe_tile *tile``”h]”j™)�”}”(hjph]”hŒstruct xe_tile *tile”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KŒhjjubj))�”}”(hhh]”hÞ)�”}”(hŒTile to initialize”h]”hŒTile to initialize”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j…h´KŒhj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hjjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j…h´KŒhjgubj)�”}”(hŒ*``struct xe_device *xe`` Parent Xe device ”h]”(j)�”}”(hŒ``struct xe_device *xe``”h]”j™)�”}”(hj©h]”hŒstruct xe_device *xe”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K�hj£ubj))�”}”(hhh]”hÞ)�”}”(hŒParent Xe device”h]”hŒParent Xe device”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¾h´K�hj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¾h´K�hjgubj)�”}”(hŒ``u8 id`` Tile ID ”h]”(j)�”}”(hŒ ``u8 id``”h]”j™)�”}”(hjâh]”hŒu8 id”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KŽhjÜubj))�”}”(hhh]”hÞ)�”}”(hŒTile ID”h]”hŒTile ID”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j÷h´KŽhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j÷h´KŽhjgubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hjKubhÞ)�”}”(hŒ**Description**”h]”jx)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K�hjKubhÞ)�”}”(hŒŠInitializes per-tile resources that don't require any interactions with the hardware or any knowledge about the Graphics/Media IP version.”h]”hŒŒInitializes per-tile resources that don’t require any interactions with the hardware or any knowledge about the Graphics/Media IP version.”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K�hjKubhÞ)�”}”(hŒ **Return**”h]”jx)�”}”(hjD h]”hŒReturn”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjB ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K’hjKubhÞ)�”}”(hŒ+0 on success, negative error code on error.”h]”hŒ+0 on success, negative error code on error.”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K“hjKubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jmhj,h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ!xe_tile_init_noalloc (C function)”Œc.xe_tile_init_noalloc”hNt”auh1j=hj,h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒ/int xe_tile_init_noalloc (struct xe_tile *tile)”h]”jZ)�”}”(hŒ.int xe_tile_init_noalloc(struct xe_tile *tile)”h]”(j`)�”}”(hŒint”h]”hŒint”…”�”}”(hj‰ h²hh³Nh´Nubah}”(h]”h ]”jlah"]”h$]”h&]”uh1j_hj… h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K©ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj˜ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj… h²hh³j— h´K©ubjƒ)�”}”(hŒxe_tile_init_noalloc”h]”j‰)�”}”(hŒxe_tile_init_noalloc”h]”hŒxe_tile_init_noalloc”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj¦ ubah}”(h]”h ]”(jœj�eh"]”h$]”h&]”hÅhÆuh1j‚hj… h²hh³j— h´K©ubj¢)�”}”(hŒ(struct xe_tile *tile)”h]”j¨)�”}”(hŒstruct xe_tile *tile”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hjÆ h²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hj ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj ubh)�”}”(hhh]”j‰)�”}”(hŒxe_tile”h]”hŒxe_tile”…”�”}”(hjä h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjá ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”jæ Œmodname”NŒ classname”Njêjí)�”}”jð]”jó)�”}”jæj¬ sbŒc.xe_tile_init_noalloc”†”asbuh1hhj ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj ubj)�”}”(hj h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj ubj‰)�”}”(hŒtile”h]”hŒtile”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hj¾ ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¡hj… h²hh³j— h´K©ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj8ˆuh1jYj9j:hj� h²hh³j— h´K©ubah}”(h]”j| ah ]”(j>j?eh"]”h$]”h&]”jCˆjD)jEhuh1jSh³j— h´K©hj~ h²hubjG)�”}”(hhh]”hÞ)�”}”(hŒ7Init tile up to the point where allocations can happen.”h]”hŒ7Init tile up to the point where allocations can happen.”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K©hjF h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj~ h²hh³j— h´K©ubeh}”(h]”h ]”(jäŒfunction”eh"]”h$]”h&]”jgjäjhja jija jj‰jk‰jl‰uh1jNh²hhj,h³Nh´Nubjn)�”}”(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]”jx)�”}”(hjk h]”hŒ Parameters”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhji ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K­hje ubj )�”}”(hhh]”j)�”}”(hŒ1``struct xe_tile *tile`` The tile to initialize. ”h]”(j)�”}”(hŒ``struct xe_tile *tile``”h]”j™)�”}”(hjŠ h]”hŒstruct xe_tile *tile”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjˆ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kªhj„ ubj))�”}”(hhh]”hÞ)�”}”(hŒThe tile to initialize.”h]”hŒThe tile to initialize.”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jŸ h´Kªhj  ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hj„ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŸ h´Kªhj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hje ubhÞ)�”}”(hŒ**Description**”h]”jx)�”}”(hjÅ h]”hŒ Description”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjà ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K¬hje ubhÞ)�”}”(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.”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K«hje ubhÞ)�”}”(hŒ‹Note that since this is tile initialization, it should not perform any GT-specific operations, and thus does not need to hold GT forcewake.”h]”hŒ‹Note that since this is tile initialization, it should not perform any GT-specific operations, and thus does not need to hold GT forcewake.”…”�”}”(hjê h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K°hje ubhÞ)�”}”(hŒ **Return**”h]”jx)�”}”(hjû h]”hŒReturn”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjù ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K³hje ubhÞ)�”}”(hŒ+0 on success, negative error code on error.”h]”hŒ+0 on success, negative error code on error.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´K´hje ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jmhj,h²hh³Nh´Nubj>)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(jJŒ"xe_tile_local_pagemap (C function)”Œc.xe_tile_local_pagemap”hNt”auh1j=hj,h²hh³Nh´NubjO)�”}”(hhh]”(jT)�”}”(hŒAstruct drm_pagemap * xe_tile_local_pagemap (struct xe_tile *tile)”h]”jZ)�”}”(hŒ?struct drm_pagemap *xe_tile_local_pagemap(struct xe_tile *tile)”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hj< h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kæubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjN h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj< h²hh³jM h´Kæubh)�”}”(hhh]”j‰)�”}”(hŒ drm_pagemap”h]”hŒ drm_pagemap”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj\ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”ja Œmodname”NŒ classname”Njêjí)�”}”jð]”jó)�”}”jæŒxe_tile_local_pagemap”sbŒc.xe_tile_local_pagemap”†”asbuh1hhj< h²hh³jM h´Kæubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj< h²hh³jM h´Kæubj)�”}”(hj h]”hŒ*”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj< h²hh³jM h´Kæubjƒ)�”}”(hŒxe_tile_local_pagemap”h]”j‰)�”}”(hj} h]”hŒxe_tile_local_pagemap”…”�”}”(hjŸ h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj› ubah}”(h]”h ]”(jœj�eh"]”h$]”h&]”hÅhÆuh1j‚hj< h²hh³jM h´Kæubj¢)�”}”(hŒ(struct xe_tile *tile)”h]”j¨)�”}”(hŒstruct xe_tile *tile”h]”(j®)�”}”(hj±h]”hŒstruct”…”�”}”(hjº h²hh³Nh´Nubah}”(h]”h ]”jºah"]”h$]”h&]”uh1j­hj¶ ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¶ ubh)�”}”(hhh]”j‰)�”}”(hŒxe_tile”h]”hŒxe_tile”…”�”}”(hjØ h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhjÕ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jäŒreftype”jæŒ reftarget”jÚ Œmodname”NŒ classname”Njêjí)�”}”jð]”j{ Œc.xe_tile_local_pagemap”†”asbuh1hhj¶ ubjr)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjö h²hh³Nh´Nubah}”(h]”h ]”j~ah"]”h$]”h&]”uh1jqhj¶ ubj)�”}”(hj h]”hŒ*”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¶ ubj‰)�”}”(hŒtile”h]”hŒtile”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”j•ah"]”h$]”h&]”uh1jˆhj¶ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1j§hj² ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j¡hj< h²hh³jM h´Kæubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆj8ˆuh1jYj9j:hj8 h²hh³jM h´Kæubah}”(h]”j3 ah ]”(j>j?eh"]”h$]”h&]”jCˆjD)jEhuh1jSh³jM h´Kæhj5 h²hubjG)�”}”(hhh]”hÞ)�”}”(hŒ7Return a pointer to the tile's local drm_pagemap if any”h]”hŒ9Return a pointer to the tile’s local drm_pagemap if any”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kæhj8 h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jFhj5 h²hh³jM h´Kæubeh}”(h]”h ]”(jäŒfunction”eh"]”h$]”h&]”jgjäjhjS jijS jj‰jk‰jl‰uh1jNh²hhj,h³Nh´Nubjn)�”}”(hŒ¤**Parameters** ``struct xe_tile *tile`` The tile. **Return** A pointer to the tile's local drm_pagemap, or NULL if local pagemap support has been compiled out.”h]”(hÞ)�”}”(hŒ**Parameters**”h]”jx)�”}”(hj] h]”hŒ Parameters”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhj[ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KêhjW ubj )�”}”(hhh]”j)�”}”(hŒ#``struct xe_tile *tile`` The tile. ”h]”(j)�”}”(hŒ``struct xe_tile *tile``”h]”j™)�”}”(hj| h]”hŒstruct xe_tile *tile”…”�”}”(hj~ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjz ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´Kçhjv ubj))�”}”(hhh]”hÞ)�”}”(hŒ The tile.”h]”hŒ The tile.”…”�”}”(hj• h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j‘ h´Kçhj’ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j(hjv ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘ h´Kçhjs ubah}”(h]”h ]”h"]”h$]”h&]”uh1j hjW ubhÞ)�”}”(hŒ **Return**”h]”jx)�”}”(hj· h]”hŒReturn”…”�”}”(hj¹ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jwhjµ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KéhjW ubhÞ)�”}”(hŒbA pointer to the tile's local drm_pagemap, or NULL if local pagemap support has been compiled out.”h]”hŒdA pointer to the tile’s local drm_pagemap, or NULL if local pagemap support has been compiled out.”…”�”}”(hjÍ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œ[/var/lib/git/docbuild/linux/Documentation/gpu/xe/xe_tile:13: ./drivers/gpu/drm/xe/xe_tile.c”h´KéhjW ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jmhj,h²hh³Nh´Nubeh}”(h]”Œ internal-api”ah ]”h"]”Œ internal api”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K ubeh}”(h]”Œmulti-tile-devices”ah ]”h"]”Œmulti-tile devices”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jð jí jè jå uŒ nametypes”}”(jð ‰jè ‰uh}”(jí hÊjå j,jLjUjjjªj¯j| j� j3 j8 uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.