void mali_mmu_activate_page_directory(struct mali_mmu_core *mmu, struct mali_page_directory *pagedir) { MALI_DEBUG_ASSERT_POINTER(mmu); MALI_DEBUG_PRINT(4, ("Asked to activate page directory 0x%x on MMU %s\n", pagedir, mmu->hw_core.description)); mali_mmu_activate_address_space(mmu, pagedir->page_directory); }
void mali_mmu_activate_fault_flush_page_directory(struct mali_mmu_core *mmu) { mali_bool stall_success; MALI_DEBUG_ASSERT_POINTER(mmu); MALI_DEBUG_PRINT(3, ("Activating the page fault flush page directory on MMU %s\n", mmu->hw_core.description)); stall_success = mali_mmu_enable_stall(mmu); /* This function is expect to fail the stalling, since it might be in PageFault mode when it is called */ mali_mmu_activate_address_space(mmu, mali_page_fault_flush_page_directory); if (MALI_TRUE == stall_success) mali_mmu_disable_stall(mmu); }
void mali_mmu_activate_empty_page_directory(struct mali_mmu_core* mmu) { mali_bool stall_success; MALI_DEBUG_ASSERT_POINTER(mmu); MALI_ASSERT_GROUP_LOCKED(mmu->group); MALI_DEBUG_PRINT(3, ("Activating the empty page directory on MMU %s\n", mmu->hw_core.description)); stall_success = mali_mmu_enable_stall(mmu); /* This function can only be called when the core is idle, so it could not fail. */ MALI_DEBUG_ASSERT( stall_success ); mali_mmu_activate_address_space(mmu, mali_empty_page_directory); mali_mmu_disable_stall(mmu); }
void mali_mmu_activate_page_directory(struct mali_mmu_core *mmu, struct mali_page_directory *pagedir) { mali_bool stall_success; MALI_DEBUG_ASSERT_POINTER(mmu); MALI_DEBUG_PRINT(5, ("Asked to activate page directory 0x%x on MMU %s\n", pagedir, mmu->hw_core.description)); stall_success = mali_mmu_enable_stall(mmu); MALI_DEBUG_ASSERT(stall_success); MALI_IGNORE(stall_success); mali_mmu_activate_address_space(mmu, pagedir->page_directory); mali_mmu_disable_stall(mmu); }
mali_bool mali_mmu_activate_page_directory(struct mali_mmu_core *mmu, struct mali_page_directory *pagedir) { mali_bool stall_success; MALI_DEBUG_ASSERT_POINTER(mmu); MALI_ASSERT_GROUP_LOCKED(mmu->group); MALI_DEBUG_PRINT(5, ("Asked to activate page directory 0x%x on MMU %s\n", pagedir, mmu->hw_core.description)); stall_success = mali_mmu_enable_stall(mmu); if ( MALI_FALSE==stall_success ) return MALI_FALSE; mali_mmu_activate_address_space(mmu, pagedir->page_directory); mali_mmu_disable_stall(mmu); return MALI_TRUE; }
void mali_mmu_activate_fault_flush_page_directory(struct mali_mmu_core* mmu) { MALI_DEBUG_PRINT(4, ("Activating the page fault flush page directory on MMU %s\n", mmu->hw_core.description)); mali_mmu_activate_address_space(mmu, mali_page_fault_flush_page_directory); }