1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2019 Intel Corporation
4  */
5 
6 #ifndef __INTEL_CONNECTOR_H__
7 #define __INTEL_CONNECTOR_H__
8 
9 #include <linux/types.h>
10 
11 struct drm_connector;
12 struct edid;
13 struct i2c_adapter;
14 struct intel_connector;
15 struct intel_encoder;
16 
17 int intel_connector_init(struct intel_connector *connector);
18 struct intel_connector *intel_connector_alloc(void);
19 void intel_connector_free(struct intel_connector *connector);
20 void intel_connector_destroy(struct drm_connector *connector);
21 int intel_connector_register(struct drm_connector *connector);
22 void intel_connector_unregister(struct drm_connector *connector);
23 void intel_connector_attach_encoder(struct intel_connector *connector,
24 				    struct intel_encoder *encoder);
25 bool intel_connector_get_hw_state(struct intel_connector *connector);
26 enum pipe intel_connector_get_pipe(struct intel_connector *connector);
27 int intel_connector_update_modes(struct drm_connector *connector,
28 				 struct edid *edid);
29 int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
30 void intel_attach_force_audio_property(struct drm_connector *connector);
31 void intel_attach_broadcast_rgb_property(struct drm_connector *connector);
32 void intel_attach_aspect_ratio_property(struct drm_connector *connector);
33 void intel_attach_hdmi_colorspace_property(struct drm_connector *connector);
34 void intel_attach_dp_colorspace_property(struct drm_connector *connector);
35 void intel_attach_scaling_mode_property(struct drm_connector *connector);
36 
37 #endif /* __INTEL_CONNECTOR_H__ */
38