Lines Matching +full:dvi +full:- +full:connector
40 int intel_connector_init(struct intel_connector *connector) in intel_connector_init() argument
52 return -ENOMEM; in intel_connector_init()
54 __drm_atomic_helper_connector_reset(&connector->base, in intel_connector_init()
55 &conn_state->base); in intel_connector_init()
57 intel_panel_init_alloc(connector); in intel_connector_init()
64 struct intel_connector *connector; in intel_connector_alloc() local
66 connector = kzalloc(sizeof(*connector), GFP_KERNEL); in intel_connector_alloc()
67 if (!connector) in intel_connector_alloc()
70 if (intel_connector_init(connector) < 0) { in intel_connector_alloc()
71 kfree(connector); in intel_connector_alloc()
75 return connector; in intel_connector_alloc()
82 * Otherwise the destroy callbacks for the connector and the state should
85 void intel_connector_free(struct intel_connector *connector) in intel_connector_free() argument
87 kfree(to_intel_digital_connector_state(connector->base.state)); in intel_connector_free()
88 kfree(connector); in intel_connector_free()
92 * Connector type independent destroy hook for drm_connector_funcs.
94 void intel_connector_destroy(struct drm_connector *connector) in intel_connector_destroy() argument
96 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_connector_destroy()
98 drm_edid_free(intel_connector->detect_edid); in intel_connector_destroy()
104 drm_connector_cleanup(connector); in intel_connector_destroy()
106 if (intel_connector->port) in intel_connector_destroy()
107 drm_dp_mst_put_port_malloc(intel_connector->port); in intel_connector_destroy()
109 kfree(connector); in intel_connector_destroy()
112 int intel_connector_register(struct drm_connector *connector) in intel_connector_register() argument
114 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_connector_register()
121 if (i915_inject_probe_failure(to_i915(connector->dev))) { in intel_connector_register()
122 ret = -EFAULT; in intel_connector_register()
136 void intel_connector_unregister(struct drm_connector *connector) in intel_connector_unregister() argument
138 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_connector_unregister()
143 void intel_connector_attach_encoder(struct intel_connector *connector, in intel_connector_attach_encoder() argument
146 connector->encoder = encoder; in intel_connector_attach_encoder()
147 drm_connector_attach_encoder(&connector->base, &encoder->base); in intel_connector_attach_encoder()
151 * Simple connector->get_hw_state implementation for encoders that support only
152 * one connector and no cloning and hence the encoder state determines the state
153 * of the connector.
155 bool intel_connector_get_hw_state(struct intel_connector *connector) in intel_connector_get_hw_state() argument
158 struct intel_encoder *encoder = intel_attached_encoder(connector); in intel_connector_get_hw_state()
160 return encoder->get_hw_state(encoder, &pipe); in intel_connector_get_hw_state()
163 enum pipe intel_connector_get_pipe(struct intel_connector *connector) in intel_connector_get_pipe() argument
165 struct drm_device *dev = connector->base.dev; in intel_connector_get_pipe()
168 !drm_modeset_is_locked(&dev->mode_config.connection_mutex)); in intel_connector_get_pipe()
170 if (!connector->base.state->crtc) in intel_connector_get_pipe()
173 return to_intel_crtc(connector->base.state->crtc)->pipe; in intel_connector_get_pipe()
177 * intel_connector_update_modes - update connector from edid
178 * @connector: DRM connector device to use
181 int intel_connector_update_modes(struct drm_connector *connector, in intel_connector_update_modes() argument
186 drm_edid_connector_update(connector, drm_edid); in intel_connector_update_modes()
187 ret = drm_edid_connector_add_modes(connector); in intel_connector_update_modes()
193 * intel_ddc_get_modes - get modelist from monitor
194 * @connector: DRM connector device to use
197 * Fetch the EDID information from @connector using the DDC bus.
199 int intel_ddc_get_modes(struct drm_connector *connector, in intel_ddc_get_modes() argument
205 drm_edid = drm_edid_read_ddc(connector, ddc); in intel_ddc_get_modes()
209 ret = intel_connector_update_modes(connector, drm_edid); in intel_ddc_get_modes()
216 { HDMI_AUDIO_OFF_DVI, "force-dvi" },
223 intel_attach_force_audio_property(struct drm_connector *connector) in intel_attach_force_audio_property() argument
225 struct drm_device *dev = connector->dev; in intel_attach_force_audio_property()
229 prop = dev_priv->display.properties.force_audio; in intel_attach_force_audio_property()
238 dev_priv->display.properties.force_audio = prop; in intel_attach_force_audio_property()
240 drm_object_attach_property(&connector->base, prop, 0); in intel_attach_force_audio_property()
250 intel_attach_broadcast_rgb_property(struct drm_connector *connector) in intel_attach_broadcast_rgb_property() argument
252 struct drm_device *dev = connector->dev; in intel_attach_broadcast_rgb_property()
256 prop = dev_priv->display.properties.broadcast_rgb; in intel_attach_broadcast_rgb_property()
265 dev_priv->display.properties.broadcast_rgb = prop; in intel_attach_broadcast_rgb_property()
268 drm_object_attach_property(&connector->base, prop, 0); in intel_attach_broadcast_rgb_property()
272 intel_attach_aspect_ratio_property(struct drm_connector *connector) in intel_attach_aspect_ratio_property() argument
274 if (!drm_mode_create_aspect_ratio_property(connector->dev)) in intel_attach_aspect_ratio_property()
275 drm_object_attach_property(&connector->base, in intel_attach_aspect_ratio_property()
276 connector->dev->mode_config.aspect_ratio_property, in intel_attach_aspect_ratio_property()
281 intel_attach_hdmi_colorspace_property(struct drm_connector *connector) in intel_attach_hdmi_colorspace_property() argument
283 if (!drm_mode_create_hdmi_colorspace_property(connector, 0)) in intel_attach_hdmi_colorspace_property()
284 drm_connector_attach_colorspace_property(connector); in intel_attach_hdmi_colorspace_property()
288 intel_attach_dp_colorspace_property(struct drm_connector *connector) in intel_attach_dp_colorspace_property() argument
290 if (!drm_mode_create_dp_colorspace_property(connector, 0)) in intel_attach_dp_colorspace_property()
291 drm_connector_attach_colorspace_property(connector); in intel_attach_dp_colorspace_property()
295 intel_attach_scaling_mode_property(struct drm_connector *connector) in intel_attach_scaling_mode_property() argument
297 struct drm_i915_private *i915 = to_i915(connector->dev); in intel_attach_scaling_mode_property()
304 if (!HAS_GMCH(i915) || connector->connector_type == DRM_MODE_CONNECTOR_LVDS) in intel_attach_scaling_mode_property()
307 drm_connector_attach_scaling_mode_property(connector, scaling_modes); in intel_attach_scaling_mode_property()
309 connector->state->scaling_mode = DRM_MODE_SCALE_ASPECT; in intel_attach_scaling_mode_property()