1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Support for Intel Camera Imaging ISP subsystem.
4 * Copyright (c) 2010-2015, Intel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms and conditions of the GNU General Public License,
8 * version 2, as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope it will be useful, but WITHOUT
11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13 * more details.
14 */
15
16/* The name "mmu.h is already taken" */
17#include "mmu_device.h"
18
19void mmu_set_page_table_base_index(
20    const mmu_ID_t		ID,
21    const hrt_data		base_index)
22{
23	mmu_reg_store(ID, _HRT_MMU_PAGE_TABLE_BASE_ADDRESS_REG_IDX, base_index);
24	return;
25}
26
27hrt_data mmu_get_page_table_base_index(
28    const mmu_ID_t		ID)
29{
30	return mmu_reg_load(ID, _HRT_MMU_PAGE_TABLE_BASE_ADDRESS_REG_IDX);
31}
32
33void mmu_invalidate_cache(
34    const mmu_ID_t		ID)
35{
36	mmu_reg_store(ID, _HRT_MMU_INVALIDATE_TLB_REG_IDX, 1);
37	return;
38}
39
40void mmu_invalidate_cache_all(void)
41{
42	mmu_ID_t	mmu_id;
43
44	for (mmu_id = (mmu_ID_t)0; mmu_id < N_MMU_ID; mmu_id++) {
45		mmu_invalidate_cache(mmu_id);
46	}
47}
48