1 | /* SPDX-License-Identifier: MIT */ |
2 | /* |
3 | * Copyright © 2021 Intel Corporation |
4 | */ |
5 | |
6 | #ifndef _INTEL_PCH_DISPLAY_H_ |
7 | #define _INTEL_PCH_DISPLAY_H_ |
8 | |
9 | #include <linux/types.h> |
10 | |
11 | enum pipe; |
12 | struct drm_i915_private; |
13 | struct intel_atomic_state; |
14 | struct intel_crtc; |
15 | struct intel_crtc_state; |
16 | struct intel_link_m_n; |
17 | |
18 | #ifdef I915 |
19 | bool intel_has_pch_trancoder(struct drm_i915_private *i915, |
20 | enum pipe pch_transcoder); |
21 | enum pipe intel_crtc_pch_transcoder(struct intel_crtc *crtc); |
22 | |
23 | void ilk_pch_pre_enable(struct intel_atomic_state *state, |
24 | struct intel_crtc *crtc); |
25 | void ilk_pch_enable(struct intel_atomic_state *state, |
26 | struct intel_crtc *crtc); |
27 | void ilk_pch_disable(struct intel_atomic_state *state, |
28 | struct intel_crtc *crtc); |
29 | void ilk_pch_post_disable(struct intel_atomic_state *state, |
30 | struct intel_crtc *crtc); |
31 | void ilk_pch_get_config(struct intel_crtc_state *crtc_state); |
32 | |
33 | void lpt_pch_enable(struct intel_atomic_state *state, |
34 | struct intel_crtc *crtc); |
35 | void lpt_pch_disable(struct intel_atomic_state *state, |
36 | struct intel_crtc *crtc); |
37 | void lpt_pch_get_config(struct intel_crtc_state *crtc_state); |
38 | |
39 | void intel_pch_transcoder_get_m1_n1(struct intel_crtc *crtc, |
40 | struct intel_link_m_n *m_n); |
41 | void intel_pch_transcoder_get_m2_n2(struct intel_crtc *crtc, |
42 | struct intel_link_m_n *m_n); |
43 | |
44 | void intel_pch_sanitize(struct drm_i915_private *i915); |
45 | #else |
46 | static inline bool intel_has_pch_trancoder(struct drm_i915_private *i915, |
47 | enum pipe pch_transcoder) |
48 | { |
49 | return false; |
50 | } |
51 | static inline int intel_crtc_pch_transcoder(struct intel_crtc *crtc) |
52 | { |
53 | return 0; |
54 | } |
55 | static inline void ilk_pch_pre_enable(struct intel_atomic_state *state, |
56 | struct intel_crtc *crtc) |
57 | { |
58 | } |
59 | static inline void ilk_pch_enable(struct intel_atomic_state *state, |
60 | struct intel_crtc *crtc) |
61 | { |
62 | } |
63 | static inline void ilk_pch_disable(struct intel_atomic_state *state, |
64 | struct intel_crtc *crtc) |
65 | { |
66 | } |
67 | static inline void ilk_pch_post_disable(struct intel_atomic_state *state, |
68 | struct intel_crtc *crtc) |
69 | { |
70 | } |
71 | static inline void ilk_pch_get_config(struct intel_crtc_state *crtc_state) |
72 | { |
73 | } |
74 | static inline void lpt_pch_enable(struct intel_atomic_state *state, |
75 | struct intel_crtc *crtc) |
76 | { |
77 | } |
78 | static inline void lpt_pch_disable(struct intel_atomic_state *state, |
79 | struct intel_crtc *crtc) |
80 | { |
81 | } |
82 | static inline void lpt_pch_get_config(struct intel_crtc_state *crtc_state) |
83 | { |
84 | } |
85 | static inline void intel_pch_transcoder_get_m1_n1(struct intel_crtc *crtc, |
86 | struct intel_link_m_n *m_n) |
87 | { |
88 | } |
89 | static inline void intel_pch_transcoder_get_m2_n2(struct intel_crtc *crtc, |
90 | struct intel_link_m_n *m_n) |
91 | { |
92 | } |
93 | static inline void intel_pch_sanitize(struct drm_i915_private *i915) |
94 | { |
95 | } |
96 | #endif |
97 | |
98 | #endif |
99 | |