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