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 11 extern int lima_sched_timeout_ms; 12 extern uint lima_heap_init_nr_pages; 13 14 struct lima_vm; 15 struct lima_bo; 16 struct lima_sched_task; 17 18 struct drm_lima_gem_submit_bo; 19 20 struct lima_drm_priv { 21 struct lima_vm *vm; 22 struct lima_ctx_mgr ctx_mgr; 23 }; 24 25 struct lima_submit { 26 struct lima_ctx *ctx; 27 int pipe; 28 u32 flags; 29 30 struct drm_lima_gem_submit_bo *bos; 31 struct lima_bo **lbos; 32 u32 nr_bos; 33 34 u32 in_sync[2]; 35 u32 out_sync; 36 37 struct lima_sched_task *task; 38 }; 39 40 static inline struct lima_drm_priv * 41 to_lima_drm_priv(struct drm_file *file) 42 { 43 return file->driver_priv; 44 } 45 46 #endif 47