xe_ggtt_init_early(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_ggtt_init_early (9) β€” from the Kernel API Manual, bestie πŸŽ€

okay so like, the manual name is literally right there in the title: Kernel API Manual, section 9. we're in the kernel docs now, put your hair up, we're getting technical. ✨


🌸 NAME 🌸

xe_ggtt_init_early β€” Early GGTT initialization, no cap πŸ’–


✨ SYNOPSIS ✨

int xe_ggtt_init_early (struct xe_ggtt *ggtt );

that's it. one function, one argument, it's giving "small but mighty" πŸ¦‹


πŸŽ€ ARGUMENTS πŸŽ€

  • ggtt β€” the struct xe_ggtt that's about to get initialized. that's the one, that's the whole argument, icl it's very low-maintenance πŸ’…

πŸ’œ DESCRIPTION πŸ’œ

okay so the whole vibe here is: this lets you create new mappings usable by the GuC. GuC bestie gets access, she's thriving, she's slay. πŸ‘‘

but β€” and this is the part you cannot skip β€” those mappings are not usable by the HW engines. nope. not yet. not today. because it doesn't have scratch and there's no initial clear done to it yet. 😭 that's the whole thing, that's the situation.

that stuff β€” the scratch, the initial clear β€” happens later, in the regular, non-early GGTT initialization. so like, this is the trailer, not the movie. the appetizer, not the entrΓ©e. the early one. iykyk 🧚


⭐ RETURN ⭐

  • 0 on success πŸŽ‰
  • a negative error code on failure πŸ’€

that's it. classic kernel binary. no notes. 🫢


πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, gathered in one place, fr fr:

  • Kernel file ./drivers/gpu/drm/xe/xe_ggtt.c
  • Global Graphics Translation Table (GGTT)(9)
  • struct xe_ggtt_node(9)
  • struct xe_ggtt_pt_ops(9)
  • struct xe_ggtt(9)
  • xe_ggtt_start(9)
  • xe_ggtt_size(9)
  • xe_ggtt_alloc(9)
  • xe_ggtt_node_remove(9)
  • xe_ggtt_init(9)
  • xe_ggtt_shift_nodes(9)
  • xe_ggtt_insert_node(9)
  • xe_ggtt_node_pt_size(9)
  • xe_ggtt_map_bo(9)
  • xe_ggtt_map_bo_unlocked(9)
  • xe_ggtt_insert_node_transform(9)
  • xe_ggtt_insert_bo_at(9)
  • xe_ggtt_insert_bo(9)
  • xe_ggtt_remove_bo(9)
  • xe_ggtt_largest_hole(9)
  • xe_ggtt_assign(9)
  • xe_ggtt_node_save(9)
  • xe_ggtt_node_load(9)
  • xe_ggtt_dump(9)
  • xe_ggtt_print_holes(9)
  • xe_ggtt_encode_pte_flags(9)
  • xe_ggtt_read_pte(9)
  • xe_ggtt_node_addr(9)
  • xe_ggtt_node_size(9)

like i said. the whole group chat. 🌈


ok real talk β€” this one's an early init. if you're expecting the HW engines to be able to touch those mappings, they can't, not yet. no scratch, no initial clear. read the DESCRIPTION again bestie, i'm serious πŸ™ˆ

and that's a wrap!! πŸ“ this came out of ./drivers/gpu/drm/xe, dated October 2026, and it's the xe_ggtt_init_early(9) page from the Kernel API Manual β€” bye, love u, go read xe_ggtt_init(9) next πŸ’–πŸ’…

πŸ“¦ where this page comes from