Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
0002 /* Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> */
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