1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2020 Intel Corporation
4  */
5 
6 #ifndef _INTEL_FDI_H_
7 #define _INTEL_FDI_H_
8 
9 enum pipe;
10 struct drm_i915_private;
11 struct intel_crtc;
12 struct intel_crtc_state;
13 struct intel_encoder;
14 
15 int intel_fdi_link_freq(struct drm_i915_private *i915,
16 			const struct intel_crtc_state *pipe_config);
17 int ilk_fdi_compute_config(struct intel_crtc *intel_crtc,
18 			   struct intel_crtc_state *pipe_config);
19 void intel_fdi_normal_train(struct intel_crtc *crtc);
20 void ilk_fdi_disable(struct intel_crtc *crtc);
21 void ilk_fdi_pll_disable(struct intel_crtc *intel_crtc);
22 void ilk_fdi_pll_enable(const struct intel_crtc_state *crtc_state);
23 void intel_fdi_init_hook(struct drm_i915_private *dev_priv);
24 void hsw_fdi_link_train(struct intel_encoder *encoder,
25 			const struct intel_crtc_state *crtc_state);
26 void hsw_fdi_disable(struct intel_encoder *encoder);
27 void intel_fdi_pll_freq_update(struct drm_i915_private *i915);
28 
29 void intel_fdi_link_train(struct intel_crtc *crtc,
30 			  const struct intel_crtc_state *crtc_state);
31 
32 void assert_fdi_tx_enabled(struct drm_i915_private *i915, enum pipe pipe);
33 void assert_fdi_tx_disabled(struct drm_i915_private *i915, enum pipe pipe);
34 void assert_fdi_rx_enabled(struct drm_i915_private *i915, enum pipe pipe);
35 void assert_fdi_rx_disabled(struct drm_i915_private *i915, enum pipe pipe);
36 void assert_fdi_tx_pll_enabled(struct drm_i915_private *i915, enum pipe pipe);
37 void assert_fdi_rx_pll_enabled(struct drm_i915_private *i915, enum pipe pipe);
38 void assert_fdi_rx_pll_disabled(struct drm_i915_private *i915, enum pipe pipe);
39 
40 #endif
41