drm/i915: Drop the CONTEXT_CLONE API (v2)
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / gt / intel_execlists_submission.h
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2014 Intel Corporation
4  */
5
6 #ifndef __INTEL_EXECLISTS_SUBMISSION_H__
7 #define __INTEL_EXECLISTS_SUBMISSION_H__
8
9 #include <linux/llist.h>
10 #include <linux/types.h>
11
12 struct drm_printer;
13
14 struct i915_request;
15 struct intel_context;
16 struct intel_engine_cs;
17 struct intel_gt;
18
19 enum {
20         INTEL_CONTEXT_SCHEDULE_IN = 0,
21         INTEL_CONTEXT_SCHEDULE_OUT,
22         INTEL_CONTEXT_SCHEDULE_PREEMPTED,
23 };
24
25 int intel_execlists_submission_setup(struct intel_engine_cs *engine);
26
27 void intel_execlists_show_requests(struct intel_engine_cs *engine,
28                                    struct drm_printer *m,
29                                    void (*show_request)(struct drm_printer *m,
30                                                         const struct i915_request *rq,
31                                                         const char *prefix,
32                                                         int indent),
33                                    unsigned int max);
34
35 struct intel_context *
36 intel_execlists_create_virtual(struct intel_engine_cs **siblings,
37                                unsigned int count);
38
39 int intel_virtual_engine_attach_bond(struct intel_engine_cs *engine,
40                                      const struct intel_engine_cs *master,
41                                      const struct intel_engine_cs *sibling);
42
43 #endif /* __INTEL_EXECLISTS_SUBMISSION_H__ */