xref: /openbmc/linux/drivers/gpu/drm/i915/display/intel_pch_display.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2de2d00SVille Syrjälä /* SPDX-License-Identifier: MIT */
2b2de2d00SVille Syrjälä /*
3b2de2d00SVille Syrjälä  * Copyright © 2021 Intel Corporation
4b2de2d00SVille Syrjälä  */
5b2de2d00SVille Syrjälä 
6b2de2d00SVille Syrjälä #ifndef _INTEL_PCH_DISPLAY_H_
7b2de2d00SVille Syrjälä #define _INTEL_PCH_DISPLAY_H_
8b2de2d00SVille Syrjälä 
9*a9708702SVille Syrjälä #include <linux/types.h>
10*a9708702SVille Syrjälä 
11*a9708702SVille Syrjälä enum pipe;
12108a112fSVille Syrjälä struct drm_i915_private;
13b2de2d00SVille Syrjälä struct intel_atomic_state;
14ccebd0e4SVille Syrjälä struct intel_crtc;
15b2de2d00SVille Syrjälä struct intel_crtc_state;
16a68819ccSVille Syrjälä struct intel_link_m_n;
17b2de2d00SVille Syrjälä 
18*a9708702SVille Syrjälä bool intel_has_pch_trancoder(struct drm_i915_private *i915,
19*a9708702SVille Syrjälä 			     enum pipe pch_transcoder);
20*a9708702SVille Syrjälä enum pipe intel_crtc_pch_transcoder(struct intel_crtc *crtc);
21*a9708702SVille Syrjälä 
22d8f7f883SVille Syrjälä void ilk_pch_pre_enable(struct intel_atomic_state *state,
23d8f7f883SVille Syrjälä 			struct intel_crtc *crtc);
24ccebd0e4SVille Syrjälä void ilk_pch_enable(struct intel_atomic_state *state,
25ccebd0e4SVille Syrjälä 		    struct intel_crtc *crtc);
26976c68f4SVille Syrjälä void ilk_pch_disable(struct intel_atomic_state *state,
27976c68f4SVille Syrjälä 		     struct intel_crtc *crtc);
28976c68f4SVille Syrjälä void ilk_pch_post_disable(struct intel_atomic_state *state,
29976c68f4SVille Syrjälä 			  struct intel_crtc *crtc);
307d9ae633SVille Syrjälä void ilk_pch_get_config(struct intel_crtc_state *crtc_state);
31b2de2d00SVille Syrjälä 
32ccebd0e4SVille Syrjälä void lpt_pch_enable(struct intel_atomic_state *state,
33ccebd0e4SVille Syrjälä 		    struct intel_crtc *crtc);
34718cc87eSVille Syrjälä void lpt_pch_disable(struct intel_atomic_state *state,
35718cc87eSVille Syrjälä 		     struct intel_crtc *crtc);
36f45d2252SVille Syrjälä void lpt_pch_get_config(struct intel_crtc_state *crtc_state);
37b2de2d00SVille Syrjälä 
3823015f6fSVille Syrjälä void intel_pch_transcoder_get_m1_n1(struct intel_crtc *crtc,
3923015f6fSVille Syrjälä 				    struct intel_link_m_n *m_n);
4023015f6fSVille Syrjälä void intel_pch_transcoder_get_m2_n2(struct intel_crtc *crtc,
41a68819ccSVille Syrjälä 				    struct intel_link_m_n *m_n);
42a68819ccSVille Syrjälä 
43108a112fSVille Syrjälä void intel_pch_sanitize(struct drm_i915_private *i915);
44108a112fSVille Syrjälä 
45b2de2d00SVille Syrjälä #endif
46