]> Git Repo - linux.git/blob - drivers/gpu/drm/i915/pxp/intel_pxp.h
Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux.git] / drivers / gpu / drm / i915 / pxp / intel_pxp.h
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright(c) 2020, Intel Corporation. All rights reserved.
4  */
5
6 #ifndef __INTEL_PXP_H__
7 #define __INTEL_PXP_H__
8
9 #include <linux/errno.h>
10 #include <linux/types.h>
11
12 struct intel_pxp;
13 struct drm_i915_gem_object;
14
15 #ifdef CONFIG_DRM_I915_PXP
16 struct intel_gt *pxp_to_gt(const struct intel_pxp *pxp);
17 bool intel_pxp_is_enabled(const struct intel_pxp *pxp);
18 bool intel_pxp_is_active(const struct intel_pxp *pxp);
19
20 void intel_pxp_init(struct intel_pxp *pxp);
21 void intel_pxp_fini(struct intel_pxp *pxp);
22
23 void intel_pxp_init_hw(struct intel_pxp *pxp);
24 void intel_pxp_fini_hw(struct intel_pxp *pxp);
25
26 void intel_pxp_mark_termination_in_progress(struct intel_pxp *pxp);
27
28 int intel_pxp_start(struct intel_pxp *pxp);
29
30 int intel_pxp_key_check(struct intel_pxp *pxp,
31                         struct drm_i915_gem_object *obj,
32                         bool assign);
33
34 void intel_pxp_invalidate(struct intel_pxp *pxp);
35 #else
36 static inline void intel_pxp_init(struct intel_pxp *pxp)
37 {
38 }
39
40 static inline void intel_pxp_fini(struct intel_pxp *pxp)
41 {
42 }
43
44 static inline int intel_pxp_start(struct intel_pxp *pxp)
45 {
46         return -ENODEV;
47 }
48
49 static inline bool intel_pxp_is_enabled(const struct intel_pxp *pxp)
50 {
51         return false;
52 }
53
54 static inline bool intel_pxp_is_active(const struct intel_pxp *pxp)
55 {
56         return false;
57 }
58
59 static inline int intel_pxp_key_check(struct intel_pxp *pxp,
60                                       struct drm_i915_gem_object *obj,
61                                       bool assign)
62 {
63         return -ENODEV;
64 }
65 #endif
66
67 #endif /* __INTEL_PXP_H__ */
This page took 0.038028 seconds and 4 git commands to generate.