pvr_mmu_backing_page_sync(9)
π pvr_mmu_backing_page_sync β a whole manual page, bestie π
okay so this is pvr_mmu_backing_page_sync(9) from the Kernel API Manual, and we're gonna get into it β¨
πΈ NAME πΈ
pvr_mmu_backing_page_sync β flushes a MMU backing page from the CPU over to the device π«Ά
like. it's the handoff. cpu's done yapping, device gets the memo. periodt.
π¦ SYNOPSIS π¦
void pvr_mmu_backing_page_sync (struct pvr_mmu_backing_page *page , u32
flags );
yeah it's a void, it returns literally nothing, don't @ me about a return value there isn't one π
π ARGUMENTS π
pageβ the target backing page. the one. the main character of this function call πflagsβ MMU flush flags. has to be one ofPVR_MMU_SYNC_LEVEL_*_FLAGSβ like, must, no cap, pick from that set π
β DESCRIPTION β
β οΈ CAUTION: β οΈ
This is potentially an expensive function call. π
so like. read that again. expensive. we're not just vibing here, this costs.
Only call pvr_mmu_backing_page_sync once you're sure you have no more changes to make to the backing page in the immediate future. fr fr β do all your edits first, then sync, then go touch grass. calling it early and then changing stuff after? not the move, bestie π
π SEE ALSO π
the lore is deep, so buckle up π§
- Kernel file:
./drivers/gpu/drm/imagination/pvr_mmu.c pvr_mmu_set_flush_flags(9),pvr_mmu_flush_request_all(9),pvr_mmu_flush_exec(9)PowerVR Virtual Memory Handling(9),PowerVR Virtual Memory Handling (constants)(9)MMU backing pages(9),MMU backing pages (constants)(9)struct pvr_mmu_backing_page(9),pvr_mmu_backing_page_init(9),pvr_mmu_backing_page_fini(9)Raw page tables(9)struct pvr_page_table_l2_entry_raw(9),pvr_page_table_l2_entry_raw_set(9)struct pvr_page_table_l1_entry_raw(9),pvr_page_table_l1_entry_raw_set(9)struct pvr_page_table_l0_entry_raw(9),struct pvr_page_flags_raw(9),pvr_page_table_l0_entry_raw_set(9),pvr_page_flags_raw_create(9)struct pvr_page_table_l2_raw(9),struct pvr_page_table_l1_raw(9),struct pvr_page_table_l0_raw(9)Mirror page tables(9)struct pvr_page_table_l2(9),pvr_page_table_l2_init(9),pvr_page_table_l2_fini(9),pvr_page_table_l2_sync(9),pvr_page_table_l2_get_raw(9),pvr_page_table_l2_get_entry_raw(9),pvr_page_table_l2_entry_is_valid(9)struct pvr_page_table_l1(9),pvr_page_table_l1_init(9),pvr_page_table_l1_free(9),pvr_page_table_l1_sync(9),pvr_page_table_l1_get_raw(9),pvr_page_table_l1_get_entry_raw(9),pvr_page_table_l1_entry_is_valid(9)struct pvr_page_table_l0(9),pvr_page_table_l0_init(9),pvr_page_table_l0_free(9),pvr_page_table_l0_sync(9),pvr_page_table_l0_get_raw(9),pvr_page_table_l0_get_entry_raw(9),pvr_page_table_l0_entry_is_valid(9)struct pvr_mmu_context(9),struct pvr_page_table_ptr(9),struct pvr_mmu_op_context(9)pvr_page_table_l2_insert(9),pvr_page_table_l2_remove(9),pvr_page_table_l1_insert(9),pvr_page_table_l1_remove(9),pvr_page_table_l0_insert(9),pvr_page_table_l0_remove(9)Page table index utilities(9),pvr_page_table_l2_idx(9),pvr_page_table_l1_idx(9),pvr_page_table_l0_idx(9)High-level page table operations(9),pvr_page_table_l1_get_or_insert(9),pvr_page_table_l0_get_or_insert(9)pvr_mmu_context_create(9),pvr_mmu_context_destroy(9),pvr_mmu_get_root_table_dma_addr(9),pvr_page_table_l1_alloc(9),pvr_page_table_l0_alloc(9)pvr_mmu_op_context_require_sync(9),pvr_mmu_op_context_sync_manual(9),pvr_mmu_op_context_sync_partial(9),pvr_mmu_op_context_sync(9),pvr_mmu_op_context_load_tables(9),pvr_mmu_op_context_set_curr_page(9),pvr_mmu_op_context_next_page(9)Single page operations(9),pvr_page_create(9),pvr_page_destroy(9)pvr_mmu_op_context_destroy(9),pvr_mmu_op_context_create(9),pvr_mmu_op_context_unmap_curr_page(9)pvr_mmu_unmap(9),pvr_mmu_map_sgl(9),pvr_mmu_map(9)
iykyk, that's a lot of cross-references and every single one of them is staying π
mwah, that's the page π
this lil guy lives under ./drivers/gpu/drm/imagination and the docs are dated October 2026 β so yeah, future-dated slay, go read the source and stay hydrated πβ¨
π¦ 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