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