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 #include <linux/types.h> 10 11 enum pipe; 12 struct intel_atomic_state; 13 struct intel_crtc; 14 struct intel_crtc_state; 15 struct intel_display; 16 struct intel_display; 17 struct intel_encoder; 18 struct intel_link_bw_limits; 19 20 int intel_fdi_add_affected_crtcs(struct intel_atomic_state *state); 21 int intel_fdi_link_freq(struct intel_display *display, 22 const struct intel_crtc_state *pipe_config); 23 int ilk_fdi_compute_config(struct intel_crtc *intel_crtc, 24 struct intel_crtc_state *pipe_config); 25 int intel_fdi_atomic_check_link(struct intel_atomic_state *state, 26 struct intel_link_bw_limits *limits); 27 void intel_fdi_normal_train(struct intel_crtc *crtc); 28 void ilk_fdi_disable(struct intel_crtc *crtc); 29 void ilk_fdi_pll_disable(struct intel_crtc *intel_crtc); 30 void ilk_fdi_pll_enable(const struct intel_crtc_state *crtc_state); 31 void intel_fdi_init_hook(struct intel_display *display); 32 void hsw_fdi_link_train(struct intel_encoder *encoder, 33 const struct intel_crtc_state *crtc_state); 34 void hsw_fdi_disable(struct intel_encoder *encoder); 35 void intel_fdi_pll_freq_update(struct intel_display *display); 36 37 void intel_fdi_link_train(struct intel_crtc *crtc, 38 const struct intel_crtc_state *crtc_state); 39 40 void assert_fdi_tx_enabled(struct intel_display *display, enum pipe pipe); 41 void assert_fdi_tx_disabled(struct intel_display *display, enum pipe pipe); 42 void assert_fdi_rx_enabled(struct intel_display *display, enum pipe pipe); 43 void assert_fdi_rx_disabled(struct intel_display *display, enum pipe pipe); 44 void assert_fdi_tx_pll_enabled(struct intel_display *display, enum pipe pipe); 45 void assert_fdi_rx_pll_enabled(struct intel_display *display, enum pipe pipe); 46 void assert_fdi_rx_pll_disabled(struct intel_display *display, enum pipe pipe); 47 48 #endif 49