Linux Audio

Check our new training course

Loading...
 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__ */