xref: /linux/drivers/gpu/drm/panfrost/panfrost_gpu.h (revision f11b0417eec21ade937da866363433cc0b8b396c)
1f3ba9122SRob Herring /* SPDX-License-Identifier: GPL-2.0 */
2f3ba9122SRob Herring /* Copyright 2018 Marty E. Plummer <hanetzer@startmail.com> */
3f3ba9122SRob Herring /* Copyright 2019 Collabora ltd. */
4f3ba9122SRob Herring 
5f3ba9122SRob Herring #ifndef __PANFROST_GPU_H__
6f3ba9122SRob Herring #define __PANFROST_GPU_H__
7f3ba9122SRob Herring 
8f3ba9122SRob Herring struct panfrost_device;
9f3ba9122SRob Herring 
10f3ba9122SRob Herring int panfrost_gpu_init(struct panfrost_device *pfdev);
11f3ba9122SRob Herring void panfrost_gpu_fini(struct panfrost_device *pfdev);
12f3ba9122SRob Herring 
13f3ba9122SRob Herring u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev);
14f3ba9122SRob Herring 
15f3ba9122SRob Herring int panfrost_gpu_soft_reset(struct panfrost_device *pfdev);
16f3ba9122SRob Herring void panfrost_gpu_power_on(struct panfrost_device *pfdev);
17f3ba9122SRob Herring void panfrost_gpu_power_off(struct panfrost_device *pfdev);
18f3ba9122SRob Herring 
19*f11b0417SAdrián Larumbe void panfrost_cycle_counter_get(struct panfrost_device *pfdev);
20*f11b0417SAdrián Larumbe void panfrost_cycle_counter_put(struct panfrost_device *pfdev);
21*f11b0417SAdrián Larumbe unsigned long long panfrost_cycle_counter_read(struct panfrost_device *pfdev);
22*f11b0417SAdrián Larumbe 
2311000300SNeil Armstrong void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev);
2411000300SNeil Armstrong 
25f3ba9122SRob Herring #endif
26