€•9%Œ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/rfc/i915_gem_lmem”Œ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/rfc/i915_gem_lmem”Œ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/rfc/i915_gem_lmem”Œ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/rfc/i915_gem_lmem”Œ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/rfc/i915_gem_lmem”Œ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/rfc/i915_gem_lmem”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒI915 DG1/LMEM RFC Section”h]”hŒI915 DG1/LMEM RFC Section”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒC/var/lib/git/docbuild/linux/Documentation/gpu/rfc/i915_gem_lmem.rst”h Kubh¢)”}”(hhh]”(h§)”}”(hŒ Upstream plan”h]”hŒ Upstream plan”…””}”(hhºhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh·hžhhŸh¶h KubhŒ paragraph”“”)”}”(hŒoFor upstream the overall plan for landing all the DG1 stuff and turning it for real, with all the uAPI bits is:”h]”hŒoFor upstream the overall plan for landing all the DG1 stuff and turning it for real, with all the uAPI bits is:”…””}”(hhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khh·hžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ3Merge basic HW enabling of DG1(still without pciid)”h]”hÉ)”}”(hháh]”hŒ3Merge basic HW enabling of DG1(still without pciid)”…””}”(hhãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K hhßubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhhÚhžhhŸh¶h NubhÞ)”}”(hŒÊMerge the uAPI bits behind special CONFIG_BROKEN(or so) flag * At this point we can still make changes, but importantly this lets us start running IGTs which can utilize local-memory in CI”h]”hŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hŒ¾Merge the uAPI bits behind special CONFIG_BROKEN(or so) flag * At this point we can still make changes, but importantly this lets us start running IGTs which can utilize local-memory in CI”h]”(hŒterm”“”)”}”(hŒdma_resv_lockitem for full dma_resv_lock, i.e not just trylock”h]”hÉ)”}”(hjh]”hŒ>dma_resv_lockitem for full dma_resv_lock, i.e not just trylock”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjqubhÞ)”}”(hŒUse TTM CPU pagefault handler”h]”hÉ)”}”(hj¤h]”hŒUse TTM CPU pagefault handler”…””}”(hj¦hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj¢ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjqubhÞ)”}”(hŒ3Route shmem backend over to TTM SYSTEM for discrete”h]”hÉ)”}”(hj»h]”hŒ3Route shmem backend over to TTM SYSTEM for discrete”…””}”(hj½hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj¹ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjqubhÞ)”}”(hŒTTM purgeable object support”h]”hÉ)”}”(hjÒh]”hŒTTM purgeable object support”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjqubhÞ)”}”(hŒ%Move i915 buddy allocator over to TTM”h]”hÉ)”}”(hjéh]”hŒ%Move i915 buddy allocator over to TTM”…””}”(hjëhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khjçubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjqubeh}”(h]”h ]”h"]”h$]”h&]”j;j<uh1hØhŸh¶h Khjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÿhŸh¶h KhjYubah}”(h]”h ]”h"]”h$]”h&]”uh1húhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhhÚhžhhŸNh NubhÞ)”}”(hŒ