Home | History | Annotate | Line # | Download | only in display
      1  1.1  riastrad /*	$NetBSD: intel_hdmi.h,v 1.2 2021/12/18 23:45:30 riastradh Exp $	*/
      2  1.1  riastrad 
      3  1.1  riastrad /* SPDX-License-Identifier: MIT */
      4  1.1  riastrad /*
      5  1.1  riastrad  * Copyright  2019 Intel Corporation
      6  1.1  riastrad  */
      7  1.1  riastrad 
      8  1.1  riastrad #ifndef __INTEL_HDMI_H__
      9  1.1  riastrad #define __INTEL_HDMI_H__
     10  1.1  riastrad 
     11  1.1  riastrad #include <linux/hdmi.h>
     12  1.1  riastrad #include <linux/types.h>
     13  1.1  riastrad 
     14  1.1  riastrad #include <drm/i915_drm.h>
     15  1.1  riastrad 
     16  1.1  riastrad #include "i915_reg.h"
     17  1.1  riastrad 
     18  1.1  riastrad struct drm_connector;
     19  1.1  riastrad struct drm_encoder;
     20  1.1  riastrad struct drm_i915_private;
     21  1.1  riastrad struct intel_connector;
     22  1.1  riastrad struct intel_digital_port;
     23  1.1  riastrad struct intel_encoder;
     24  1.1  riastrad struct intel_crtc_state;
     25  1.1  riastrad struct intel_hdmi;
     26  1.1  riastrad struct drm_connector_state;
     27  1.1  riastrad union hdmi_infoframe;
     28  1.1  riastrad enum port;
     29  1.1  riastrad 
     30  1.1  riastrad void intel_hdmi_init(struct drm_i915_private *dev_priv, i915_reg_t hdmi_reg,
     31  1.1  riastrad 		     enum port port);
     32  1.1  riastrad void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
     33  1.1  riastrad 			       struct intel_connector *intel_connector);
     34  1.1  riastrad struct intel_hdmi *enc_to_intel_hdmi(struct intel_encoder *encoder);
     35  1.1  riastrad int intel_hdmi_compute_config(struct intel_encoder *encoder,
     36  1.1  riastrad 			      struct intel_crtc_state *pipe_config,
     37  1.1  riastrad 			      struct drm_connector_state *conn_state);
     38  1.1  riastrad bool intel_hdmi_handle_sink_scrambling(struct intel_encoder *encoder,
     39  1.1  riastrad 				       struct drm_connector *connector,
     40  1.1  riastrad 				       bool high_tmds_clock_ratio,
     41  1.1  riastrad 				       bool scrambling);
     42  1.1  riastrad void intel_dp_dual_mode_set_tmds_output(struct intel_hdmi *hdmi, bool enable);
     43  1.1  riastrad void intel_infoframe_init(struct intel_digital_port *intel_dig_port);
     44  1.1  riastrad u32 intel_hdmi_infoframes_enabled(struct intel_encoder *encoder,
     45  1.1  riastrad 				  const struct intel_crtc_state *crtc_state);
     46  1.1  riastrad u32 intel_hdmi_infoframe_enable(unsigned int type);
     47  1.1  riastrad void intel_hdmi_read_gcp_infoframe(struct intel_encoder *encoder,
     48  1.1  riastrad 				   struct intel_crtc_state *crtc_state);
     49  1.1  riastrad void intel_read_infoframe(struct intel_encoder *encoder,
     50  1.1  riastrad 			  const struct intel_crtc_state *crtc_state,
     51  1.1  riastrad 			  enum hdmi_infoframe_type type,
     52  1.1  riastrad 			  union hdmi_infoframe *frame);
     53  1.1  riastrad 
     54  1.1  riastrad #endif /* __INTEL_HDMI_H__ */
     55