/* SPDX-License-Identifier: MIT */ /* * Copyright © 2022 Intel Corporation */ #ifndef __HSW_IPS_H__ #define __HSW_IPS_H__ #include struct intel_atomic_state; struct intel_crtc; struct intel_crtc_state; #ifdef I915 bool hsw_ips_disable(const struct intel_crtc_state *crtc_state); bool hsw_ips_pre_update(struct intel_atomic_state *state, struct intel_crtc *crtc); void hsw_ips_post_update(struct intel_atomic_state *state, struct intel_crtc *crtc); bool hsw_crtc_supports_ips(struct intel_crtc *crtc); bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state); int hsw_ips_compute_config(struct intel_atomic_state *state, struct intel_crtc *crtc); void hsw_ips_get_config(struct intel_crtc_state *crtc_state); void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc); #else static inline bool hsw_ips_disable(const struct intel_crtc_state *crtc_state) { return false; } static inline bool hsw_ips_pre_update(struct intel_atomic_state *state, struct intel_crtc *crtc) { return false; } static inline void hsw_ips_post_update(struct intel_atomic_state *state, struct intel_crtc *crtc) { } static inline bool hsw_crtc_supports_ips(struct intel_crtc *crtc) { return false; } static inline bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state) { return false; } static inline int hsw_ips_compute_config(struct intel_atomic_state *state, struct intel_crtc *crtc) { return 0; } static inline void hsw_ips_get_config(struct intel_crtc_state *crtc_state) { } static inline void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc) { } #endif #endif /* __HSW_IPS_H__ */