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