Lines Matching full:engine
17 intel_engine_pm_is_awake(const struct intel_engine_cs *engine) in intel_engine_pm_is_awake() argument
19 return intel_wakeref_is_active(&engine->wakeref); in intel_engine_pm_is_awake()
22 static inline void __intel_engine_pm_get(struct intel_engine_cs *engine) in __intel_engine_pm_get() argument
24 __intel_wakeref_get(&engine->wakeref); in __intel_engine_pm_get()
27 static inline void intel_engine_pm_get(struct intel_engine_cs *engine) in intel_engine_pm_get() argument
29 intel_wakeref_get(&engine->wakeref); in intel_engine_pm_get()
32 static inline bool intel_engine_pm_get_if_awake(struct intel_engine_cs *engine) in intel_engine_pm_get_if_awake() argument
34 return intel_wakeref_get_if_active(&engine->wakeref); in intel_engine_pm_get_if_awake()
37 static inline void intel_engine_pm_might_get(struct intel_engine_cs *engine) in intel_engine_pm_might_get() argument
39 if (!intel_engine_is_virtual(engine)) { in intel_engine_pm_might_get()
40 intel_wakeref_might_get(&engine->wakeref); in intel_engine_pm_might_get()
42 struct intel_gt *gt = engine->gt; in intel_engine_pm_might_get()
44 intel_engine_mask_t tmp, mask = engine->mask; in intel_engine_pm_might_get()
49 intel_gt_pm_might_get(engine->gt); in intel_engine_pm_might_get()
52 static inline void intel_engine_pm_put(struct intel_engine_cs *engine) in intel_engine_pm_put() argument
54 intel_wakeref_put(&engine->wakeref); in intel_engine_pm_put()
57 static inline void intel_engine_pm_put_async(struct intel_engine_cs *engine) in intel_engine_pm_put_async() argument
59 intel_wakeref_put_async(&engine->wakeref); in intel_engine_pm_put_async()
62 static inline void intel_engine_pm_put_delay(struct intel_engine_cs *engine, in intel_engine_pm_put_delay() argument
65 intel_wakeref_put_delay(&engine->wakeref, delay); in intel_engine_pm_put_delay()
68 static inline void intel_engine_pm_flush(struct intel_engine_cs *engine) in intel_engine_pm_flush() argument
70 intel_wakeref_unlock_wait(&engine->wakeref); in intel_engine_pm_flush()
73 static inline void intel_engine_pm_might_put(struct intel_engine_cs *engine) in intel_engine_pm_might_put() argument
75 if (!intel_engine_is_virtual(engine)) { in intel_engine_pm_might_put()
76 intel_wakeref_might_put(&engine->wakeref); in intel_engine_pm_might_put()
78 struct intel_gt *gt = engine->gt; in intel_engine_pm_might_put()
80 intel_engine_mask_t tmp, mask = engine->mask; in intel_engine_pm_might_put()
85 intel_gt_pm_might_put(engine->gt); in intel_engine_pm_might_put()
89 intel_engine_create_kernel_request(struct intel_engine_cs *engine) in intel_engine_create_kernel_request() argument
94 * The engine->kernel_context is special as it is used inside in intel_engine_create_kernel_request()
95 * the engine-pm barrier (see __engine_park()), circumventing in intel_engine_create_kernel_request()
96 * the usual mutexes and relying on the engine-pm barrier in intel_engine_create_kernel_request()
97 * instead. So whenever we use the engine->kernel_context in intel_engine_create_kernel_request()
99 * engine wakeref to serialise with the use inside. in intel_engine_create_kernel_request()
101 intel_engine_pm_get(engine); in intel_engine_create_kernel_request()
102 rq = i915_request_create(engine->kernel_context); in intel_engine_create_kernel_request()
103 intel_engine_pm_put(engine); in intel_engine_create_kernel_request()
108 void intel_engine_init__pm(struct intel_engine_cs *engine);
110 void intel_engine_reset_pinned_contexts(struct intel_engine_cs *engine);