0001
0002
0003
0004 #ifndef __LIMA_DRV_H__
0005 #define __LIMA_DRV_H__
0006
0007 #include <drm/drm_file.h>
0008
0009 #include "lima_ctx.h"
0010
0011 extern int lima_sched_timeout_ms;
0012 extern uint lima_heap_init_nr_pages;
0013 extern uint lima_max_error_tasks;
0014 extern uint lima_job_hang_limit;
0015
0016 struct lima_vm;
0017 struct lima_bo;
0018 struct lima_sched_task;
0019
0020 struct drm_lima_gem_submit_bo;
0021
0022 struct lima_drm_priv {
0023 struct lima_vm *vm;
0024 struct lima_ctx_mgr ctx_mgr;
0025 };
0026
0027 struct lima_submit {
0028 struct lima_ctx *ctx;
0029 int pipe;
0030 u32 flags;
0031
0032 struct drm_lima_gem_submit_bo *bos;
0033 struct lima_bo **lbos;
0034 u32 nr_bos;
0035
0036 u32 in_sync[2];
0037 u32 out_sync;
0038
0039 struct lima_sched_task *task;
0040 };
0041
0042 static inline struct lima_drm_priv *
0043 to_lima_drm_priv(struct drm_file *file)
0044 {
0045 return file->driver_priv;
0046 }
0047
0048 #endif