xref: /linux/drivers/gpu/drm/lima/lima_drv.h (revision bd4af432cc71b5fbfe4833510359a6ad3ada250d)
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