18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci/* Copyright 2019 Linaro, Ltd, Rob Herring <robh@kernel.org> */
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifndef __PANFROST_MMU_H__
58c2ecf20Sopenharmony_ci#define __PANFROST_MMU_H__
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cistruct panfrost_gem_mapping;
88c2ecf20Sopenharmony_cistruct panfrost_file_priv;
98c2ecf20Sopenharmony_cistruct panfrost_mmu;
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciint panfrost_mmu_map(struct panfrost_gem_mapping *mapping);
128c2ecf20Sopenharmony_civoid panfrost_mmu_unmap(struct panfrost_gem_mapping *mapping);
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciint panfrost_mmu_init(struct panfrost_device *pfdev);
158c2ecf20Sopenharmony_civoid panfrost_mmu_fini(struct panfrost_device *pfdev);
168c2ecf20Sopenharmony_civoid panfrost_mmu_reset(struct panfrost_device *pfdev);
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciu32 panfrost_mmu_as_get(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
198c2ecf20Sopenharmony_civoid panfrost_mmu_as_put(struct panfrost_device *pfdev, struct panfrost_mmu *mmu);
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_cistruct panfrost_mmu *panfrost_mmu_ctx_get(struct panfrost_mmu *mmu);
228c2ecf20Sopenharmony_civoid panfrost_mmu_ctx_put(struct panfrost_mmu *mmu);
238c2ecf20Sopenharmony_cistruct panfrost_mmu *panfrost_mmu_ctx_create(struct panfrost_device *pfdev);
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci#endif
26