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