xref: /linux/drivers/gpu/drm/i915/display/hsw_ips.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2022 Intel Corporation
4  */
5 
6 #ifndef __HSW_IPS_H__
7 #define __HSW_IPS_H__
8 
9 #include <linux/types.h>
10 
11 struct intel_atomic_state;
12 struct intel_crtc;
13 struct intel_crtc_state;
14 
15 #ifdef I915
16 bool hsw_ips_disable(const struct intel_crtc_state *crtc_state);
17 bool hsw_ips_pre_update(struct intel_atomic_state *state,
18 			struct intel_crtc *crtc);
19 void hsw_ips_post_update(struct intel_atomic_state *state,
20 			 struct intel_crtc *crtc);
21 bool hsw_crtc_supports_ips(struct intel_crtc *crtc);
22 bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state);
23 int hsw_ips_compute_config(struct intel_atomic_state *state,
24 			   struct intel_crtc *crtc);
25 void hsw_ips_get_config(struct intel_crtc_state *crtc_state);
26 void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc);
27 #else
28 static inline bool hsw_ips_disable(const struct intel_crtc_state *crtc_state)
29 {
30 	return false;
31 }
32 static inline bool hsw_ips_pre_update(struct intel_atomic_state *state,
33 				      struct intel_crtc *crtc)
34 {
35 	return false;
36 }
37 static inline void hsw_ips_post_update(struct intel_atomic_state *state,
38 				       struct intel_crtc *crtc)
39 {
40 }
41 static inline bool hsw_crtc_supports_ips(struct intel_crtc *crtc)
42 {
43 	return false;
44 }
45 static inline bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state)
46 {
47 	return false;
48 }
49 static inline int hsw_ips_compute_config(struct intel_atomic_state *state,
50 					 struct intel_crtc *crtc)
51 {
52 	return 0;
53 }
54 static inline void hsw_ips_get_config(struct intel_crtc_state *crtc_state)
55 {
56 }
57 static inline void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc)
58 {
59 }
60 #endif
61 
62 #endif /* __HSW_IPS_H__ */
63