lima_drv.h 831 B

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