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
11struct intel_atomic_state;
12struct intel_crtc;
13struct intel_crtc_state;
14
15#ifdef I915
16bool hsw_ips_disable(const struct intel_crtc_state *crtc_state);
17bool hsw_ips_pre_update(struct intel_atomic_state *state,
18 struct intel_crtc *crtc);
19void hsw_ips_post_update(struct intel_atomic_state *state,
20 struct intel_crtc *crtc);
21bool hsw_crtc_supports_ips(struct intel_crtc *crtc);
22bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state);
23int hsw_ips_compute_config(struct intel_atomic_state *state,
24 struct intel_crtc *crtc);
25void hsw_ips_get_config(struct intel_crtc_state *crtc_state);
26void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc);
27#else
28static inline bool hsw_ips_disable(const struct intel_crtc_state *crtc_state)
29{
30 return false;
31}
32static inline bool hsw_ips_pre_update(struct intel_atomic_state *state,
33 struct intel_crtc *crtc)
34{
35 return false;
36}
37static inline void hsw_ips_post_update(struct intel_atomic_state *state,
38 struct intel_crtc *crtc)
39{
40}
41static inline bool hsw_crtc_supports_ips(struct intel_crtc *crtc)
42{
43 return false;
44}
45static inline bool hsw_crtc_state_ips_capable(const struct intel_crtc_state *crtc_state)
46{
47 return false;
48}
49static inline int hsw_ips_compute_config(struct intel_atomic_state *state,
50 struct intel_crtc *crtc)
51{
52 return 0;
53}
54static inline void hsw_ips_get_config(struct intel_crtc_state *crtc_state)
55{
56}
57static inline void hsw_ips_crtc_debugfs_add(struct intel_crtc *crtc)
58{
59}
60#endif
61
62#endif /* __HSW_IPS_H__ */
63

source code of linux/drivers/gpu/drm/i915/display/hsw_ips.h