1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright 2018 Marty E. Plummer <hanetzer@startmail.com> */ 3 /* Copyright 2019 Collabora ltd. */ 4 5 #ifndef __PANFROST_GPU_H__ 6 #define __PANFROST_GPU_H__ 7 8 struct panfrost_device; 9 10 int panfrost_gpu_init(struct panfrost_device *pfdev); 11 void panfrost_gpu_fini(struct panfrost_device *pfdev); 12 13 u32 panfrost_gpu_get_latest_flush_id(struct panfrost_device *pfdev); 14 15 int panfrost_gpu_soft_reset(struct panfrost_device *pfdev); 16 void panfrost_gpu_power_on(struct panfrost_device *pfdev); 17 void panfrost_gpu_power_off(struct panfrost_device *pfdev); 18 void panfrost_gpu_suspend_irq(struct panfrost_device *pfdev); 19 20 void panfrost_cycle_counter_get(struct panfrost_device *pfdev); 21 void panfrost_cycle_counter_put(struct panfrost_device *pfdev); 22 unsigned long long panfrost_cycle_counter_read(struct panfrost_device *pfdev); 23 unsigned long long panfrost_timestamp_read(struct panfrost_device *pfdev); 24 25 void panfrost_gpu_amlogic_quirk(struct panfrost_device *pfdev); 26 27 #endif 28