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