1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2 /* Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> */ 3 4 #ifndef __LIMA_DRV_H__ 5 #define __LIMA_DRV_H__ 6 7 #include <drm/drm_file.h> 8 9 #include "lima_ctx.h" 10 #include "lima_device.h" 11 12 extern int lima_sched_timeout_ms; 13 extern uint lima_heap_init_nr_pages; 14 extern uint lima_max_error_tasks; 15 extern uint lima_job_hang_limit; 16 17 struct lima_vm; 18 struct lima_bo; 19 struct lima_sched_task; 20 21 struct drm_lima_gem_submit_bo; 22 23 struct lima_drm_priv { 24 struct lima_vm *vm; 25 struct lima_ctx_mgr ctx_mgr; 26 }; 27 28 struct lima_submit { 29 struct lima_ctx *ctx; 30 int pipe; 31 u32 flags; 32 33 struct drm_lima_gem_submit_bo *bos; 34 struct lima_bo **lbos; 35 u32 nr_bos; 36 37 u32 in_sync[2]; 38 u32 out_sync; 39 40 struct lima_sched_task *task; 41 }; 42 43 struct lima_compatible { 44 enum lima_gpu_id id; 45 }; 46 47 static inline struct lima_drm_priv * 48 to_lima_drm_priv(struct drm_file *file) 49 { 50 return file->driver_priv; 51 } 52 53 #endif 54