1f3ba9122SRob Herring /* SPDX-License-Identifier: GPL-2.0 */ 2f3ba9122SRob Herring /* Copyright 2019 Linaro, Ltd, Rob Herring <robh@kernel.org> */ 3f3ba9122SRob Herring 4f3ba9122SRob Herring #ifndef __PANFROST_MMU_H__ 5f3ba9122SRob Herring #define __PANFROST_MMU_H__ 6f3ba9122SRob Herring 7bdefca2dSBoris Brezillon struct panfrost_gem_mapping; 87282f764SRob Herring struct panfrost_file_priv; 97282f764SRob Herring struct panfrost_mmu; 10f3ba9122SRob Herring 11bdefca2dSBoris Brezillon int panfrost_mmu_map(struct panfrost_gem_mapping *mapping); 12bdefca2dSBoris Brezillon void panfrost_mmu_unmap(struct panfrost_gem_mapping *mapping); 13f3ba9122SRob Herring 14f3ba9122SRob Herring int panfrost_mmu_init(struct panfrost_device *pfdev); 15f3ba9122SRob Herring void panfrost_mmu_fini(struct panfrost_device *pfdev); 1673e467f6SRob Herring void panfrost_mmu_reset(struct panfrost_device *pfdev); 17f3ba9122SRob Herring 187282f764SRob Herring u32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu); 197282f764SRob Herring void panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu); 207282f764SRob Herring 21*7fdc48ccSBoris Brezillon struct panfrost_mmu *panfrost_mmu_ctx_get(struct panfrost_mmu *mmu); 22*7fdc48ccSBoris Brezillon void panfrost_mmu_ctx_put(struct panfrost_mmu *mmu); 23*7fdc48ccSBoris Brezillon struct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev); 247282f764SRob Herring 25f3ba9122SRob Herring #endif 26