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 bool intel_fdi_compute_pipe_bpp(struct intel_crtc_state *crtc_state); 24 int ilk_fdi_compute_config(struct intel_crtc *intel_crtc, 25 struct intel_crtc_state *pipe_config); 26 int intel_fdi_atomic_check_link(struct intel_atomic_state *state, 27 struct intel_link_bw_limits *limits); 28 void intel_fdi_normal_train(struct intel_crtc *crtc); 29 void ilk_fdi_disable(struct intel_crtc *crtc); 30 void ilk_fdi_pll_disable(struct intel_crtc *intel_crtc); 31 void ilk_fdi_pll_enable(const struct intel_crtc_state *crtc_state); 32 void intel_fdi_init_hook(struct intel_display *display); 33 void hsw_fdi_link_train(struct intel_encoder *encoder, 34 const struct intel_crtc_state *crtc_state); 35 void hsw_fdi_disable(struct intel_encoder *encoder); 36 void intel_fdi_pll_freq_update(struct intel_display *display); 37 38 void intel_fdi_link_train(struct intel_crtc *crtc, 39 const struct intel_crtc_state *crtc_state); 40 41 void assert_fdi_tx_enabled(struct intel_display *display, enum pipe pipe); 42 void assert_fdi_tx_disabled(struct intel_display *display, enum pipe pipe); 43 void assert_fdi_rx_enabled(struct intel_display *display, enum pipe pipe); 44 void assert_fdi_rx_disabled(struct intel_display *display, enum pipe pipe); 45 void assert_fdi_tx_pll_enabled(struct intel_display *display, enum pipe pipe); 46 void assert_fdi_rx_pll_enabled(struct intel_display *display, enum pipe pipe); 47 void assert_fdi_rx_pll_disabled(struct intel_display *display, enum pipe pipe); 48 49 #endif 50