lima_drv.h 907 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* SPDX-License-Identifier: GPL-2.0 OR MIT */
  2. /* Copyright 2017-2019 Qiang Yu <yuq825@gmail.com> */
  3. #ifndef __LIMA_DRV_H__
  4. #define __LIMA_DRV_H__
  5. #include <drm/drm_file.h>
  6. #include "lima_ctx.h"
  7. #include "lima_device.h"
  8. extern int lima_sched_timeout_ms;
  9. extern uint lima_heap_init_nr_pages;
  10. extern uint lima_max_error_tasks;
  11. extern uint lima_job_hang_limit;
  12. struct lima_vm;
  13. struct lima_bo;
  14. struct lima_sched_task;
  15. struct drm_lima_gem_submit_bo;
  16. struct lima_drm_priv {
  17. struct lima_vm *vm;
  18. struct lima_ctx_mgr ctx_mgr;
  19. };
  20. struct lima_submit {
  21. struct lima_ctx *ctx;
  22. int pipe;
  23. u32 flags;
  24. struct drm_lima_gem_submit_bo *bos;
  25. struct lima_bo **lbos;
  26. u32 nr_bos;
  27. u32 in_sync[2];
  28. u32 out_sync;
  29. struct lima_sched_task *task;
  30. };
  31. struct lima_compatible {
  32. enum lima_gpu_id id;
  33. };
  34. static inline struct lima_drm_priv *
  35. to_lima_drm_priv(struct drm_file *file)
  36. {
  37. return file->driver_priv;
  38. }
  39. #endif