hl_mmu_hr_fini(9)
β¨ hl_mmu_hr_fini(9) β¨
okay bestie, welcome to the Kernel API Manual page for hl_mmu_hr_fini(9) β this is the one where we yeet the MMU module into the void π
π NAME π
hl_mmu_hr_fini β release the MMU module. that's it, that's the vibe π«Ά
π SYNOPSIS π
void hl_mmu_hr_fini (struct hl_device *hdev , struct hl_mmu_hr_priv
*hr_priv , u32 hop_table_size );
copy it exactly, bestie, no autocorrect shenanigans π
πΈ ARGUMENTS πΈ
hdevβ habanalabs device structure. like, the whole device, the main character πhr_privβ MMU host resident private info. its private business, respect it π§hop_table_sizeβ HOP table size. just the size, nothing more, nothing less β
π¦ DESCRIPTION π¦
so this function does the following, and we're gonna go through it together:
- Disable MMU in H/W. π₯
- Free the
pgt_infospool. π
β οΈ heads up! All contexts should be freed before calling this function. seriously, all of them. don't come crying to me if you skip this step π
π SEE ALSO π
Kernel file ./drivers/accel/habanalabs/common/mmu/mmu.c β go read it, iykyk π
and the whole friend group:
hl_mmu_get_funcs(9), hl_mmu_init(9), hl_mmu_fini(9), hl_mmu_ctx_init(9), hl_mmu_scramble_addr(9), hl_mmu_descramble_addr(9), hl_mmu_get_hop_pte_phys_addr(9), hl_mmu_hr_pool_destroy(9), hl_mmu_hr_init(9), hl_mmu_hr_free_hop_remove_pgt(9), hl_mmu_hr_pte_phys_to_virt(9), hl_mmu_hr_write_pte(9), hl_mmu_hr_clear_pte(9), hl_mmu_hr_put_pte(9), hl_mmu_hr_get_pte(9), hl_mmu_hr_get_next_hop_pgt_info(9), hl_mmu_hr_alloc_hop(9), hl_mmu_hr_get_alloc_next_hop(9), hl_mmu_hr_get_tlb_info(9)
and that's the page, bestie!! π«Ά sourced from ./drivers/accel/habanalabs/com... (lol yes it's truncated, that's literally how it printed), dated October 2026, on hl_mmu_hr_fini(9). slay, go free those contexts first πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms