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); 18*157ad4ccSAngeloGioacchino Del Regno void panfrost_gpu_suspend_irq(struct panfrost_device *pfdev); 19f3ba9122SRob Herring 20f11b0417SAdrián Larumbe void panfrost_cycle_counter_get(struct panfrost_device *pfdev); 21f11b0417SAdrián Larumbe void panfrost_cycle_counter_put(struct panfrost_device *pfdev); 22f11b0417SAdrián Larumbe unsigned long long panfrost_cycle_counter_read(struct panfrost_device *pfdev); 23f11b0417SAdrián Larumbe 2411000300SNeil Armstrong void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev); 2511000300SNeil Armstrong 26f3ba9122SRob Herring #endif 27