Home | History | Annotate | Line # | Download | only in display
      1 /*	$NetBSD: intel_ddi.h,v 1.2 2021/12/18 23:45:29 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 /*
      5  * Copyright  2019 Intel Corporation
      6  */
      7 
      8 #ifndef __INTEL_DDI_H__
      9 #define __INTEL_DDI_H__
     10 
     11 #include <drm/i915_drm.h>
     12 
     13 #include "intel_display.h"
     14 
     15 struct drm_connector_state;
     16 struct drm_i915_private;
     17 struct intel_connector;
     18 struct intel_crtc;
     19 struct intel_crtc_state;
     20 struct intel_dp;
     21 struct intel_dpll_hw_state;
     22 struct intel_encoder;
     23 
     24 void intel_ddi_fdi_post_disable(struct intel_encoder *intel_encoder,
     25 				const struct intel_crtc_state *old_crtc_state,
     26 				const struct drm_connector_state *old_conn_state);
     27 void hsw_fdi_link_train(struct intel_encoder *encoder,
     28 			const struct intel_crtc_state *crtc_state);
     29 void intel_ddi_init(struct drm_i915_private *dev_priv, enum port port);
     30 bool intel_ddi_get_hw_state(struct intel_encoder *encoder, enum pipe *pipe);
     31 void intel_ddi_enable_transcoder_func(const struct intel_crtc_state *crtc_state);
     32 void intel_ddi_disable_transcoder_func(const struct intel_crtc_state *crtc_state);
     33 void intel_ddi_enable_pipe_clock(const struct intel_crtc_state *crtc_state);
     34 void intel_ddi_disable_pipe_clock(const  struct intel_crtc_state *crtc_state);
     35 void intel_ddi_set_dp_msa(const struct intel_crtc_state *crtc_state,
     36 			  const struct drm_connector_state *conn_state);
     37 bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
     38 void intel_ddi_get_config(struct intel_encoder *encoder,
     39 			  struct intel_crtc_state *pipe_config);
     40 void intel_ddi_set_vc_payload_alloc(const struct intel_crtc_state *crtc_state,
     41 				    bool state);
     42 void intel_ddi_compute_min_voltage_level(struct drm_i915_private *dev_priv,
     43 					 struct intel_crtc_state *crtc_state);
     44 u32 bxt_signal_levels(struct intel_dp *intel_dp);
     45 u32 ddi_signal_levels(struct intel_dp *intel_dp);
     46 u8 intel_ddi_dp_voltage_max(struct intel_encoder *encoder);
     47 u8 intel_ddi_dp_pre_emphasis_max(struct intel_encoder *encoder,
     48 				 u8 voltage_swing);
     49 int intel_ddi_toggle_hdcp_signalling(struct intel_encoder *intel_encoder,
     50 				     bool enable);
     51 void icl_sanitize_encoder_pll_mapping(struct intel_encoder *encoder);
     52 int cnl_calc_wrpll_link(struct drm_i915_private *dev_priv,
     53 			struct intel_dpll_hw_state *state);
     54 
     55 #endif /* __INTEL_DDI_H__ */
     56