• Home
  • Raw
  • Download

Lines Matching refs:connector

83 static int drm_helper_probe_add_cmdline_mode(struct drm_connector *connector)  in drm_helper_probe_add_cmdline_mode()  argument
88 cmdline_mode = &connector->cmdline_mode; in drm_helper_probe_add_cmdline_mode()
93 list_for_each_entry(mode, &connector->probed_modes, head) { in drm_helper_probe_add_cmdline_mode()
107 mode = drm_mode_create_from_cmdline_mode(connector->dev, in drm_helper_probe_add_cmdline_mode()
112 drm_mode_probed_add(connector, mode); in drm_helper_probe_add_cmdline_mode()
131 struct drm_connector *connector; in drm_kms_helper_poll_enable_locked() local
139 drm_for_each_connector(connector, dev) { in drm_kms_helper_poll_enable_locked()
140 if (connector->polled & (DRM_CONNECTOR_POLL_CONNECT | in drm_kms_helper_poll_enable_locked()
221 int drm_helper_probe_single_connector_modes(struct drm_connector *connector, in drm_helper_probe_single_connector_modes() argument
224 struct drm_device *dev = connector->dev; in drm_helper_probe_single_connector_modes()
227 connector->helper_private; in drm_helper_probe_single_connector_modes()
235 DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id, in drm_helper_probe_single_connector_modes()
236 connector->name); in drm_helper_probe_single_connector_modes()
238 list_for_each_entry(mode, &connector->modes, head) in drm_helper_probe_single_connector_modes()
241 old_status = connector->status; in drm_helper_probe_single_connector_modes()
243 if (connector->force) { in drm_helper_probe_single_connector_modes()
244 if (connector->force == DRM_FORCE_ON || in drm_helper_probe_single_connector_modes()
245 connector->force == DRM_FORCE_ON_DIGITAL) in drm_helper_probe_single_connector_modes()
246 connector->status = connector_status_connected; in drm_helper_probe_single_connector_modes()
248 connector->status = connector_status_disconnected; in drm_helper_probe_single_connector_modes()
249 if (connector->funcs->force) in drm_helper_probe_single_connector_modes()
250 connector->funcs->force(connector); in drm_helper_probe_single_connector_modes()
252 connector->status = connector->funcs->detect(connector, true); in drm_helper_probe_single_connector_modes()
261 if (old_status != connector->status) { in drm_helper_probe_single_connector_modes()
263 connector->base.id, in drm_helper_probe_single_connector_modes()
264 connector->name, in drm_helper_probe_single_connector_modes()
266 drm_get_connector_status_name(connector->status)); in drm_helper_probe_single_connector_modes()
286 if (connector->status == connector_status_disconnected) { in drm_helper_probe_single_connector_modes()
288 connector->base.id, connector->name); in drm_helper_probe_single_connector_modes()
289 drm_mode_connector_update_edid_property(connector, NULL); in drm_helper_probe_single_connector_modes()
294 if (connector->override_edid) { in drm_helper_probe_single_connector_modes()
295 struct edid *edid = (struct edid *) connector->edid_blob_ptr->data; in drm_helper_probe_single_connector_modes()
297 count = drm_add_edid_modes(connector, edid); in drm_helper_probe_single_connector_modes()
298 drm_edid_to_eld(connector, edid); in drm_helper_probe_single_connector_modes()
300 count = drm_load_edid_firmware(connector); in drm_helper_probe_single_connector_modes()
302 count = (*connector_funcs->get_modes)(connector); in drm_helper_probe_single_connector_modes()
305 if (count == 0 && connector->status == connector_status_connected) in drm_helper_probe_single_connector_modes()
306 count = drm_add_modes_noedid(connector, 1024, 768); in drm_helper_probe_single_connector_modes()
307 count += drm_helper_probe_add_cmdline_mode(connector); in drm_helper_probe_single_connector_modes()
311 drm_mode_connector_list_update(connector); in drm_helper_probe_single_connector_modes()
313 if (connector->interlace_allowed) in drm_helper_probe_single_connector_modes()
315 if (connector->doublescan_allowed) in drm_helper_probe_single_connector_modes()
317 if (connector->stereo_allowed) in drm_helper_probe_single_connector_modes()
320 list_for_each_entry(mode, &connector->modes, head) { in drm_helper_probe_single_connector_modes()
331 mode->status = connector_funcs->mode_valid(connector, in drm_helper_probe_single_connector_modes()
336 drm_mode_prune_invalid(dev, &connector->modes, verbose_prune); in drm_helper_probe_single_connector_modes()
338 if (list_empty(&connector->modes)) in drm_helper_probe_single_connector_modes()
341 list_for_each_entry(mode, &connector->modes, head) in drm_helper_probe_single_connector_modes()
344 drm_mode_sort(&connector->modes); in drm_helper_probe_single_connector_modes()
346 DRM_DEBUG_KMS("[CONNECTOR:%d:%s] probed modes :\n", connector->base.id, in drm_helper_probe_single_connector_modes()
347 connector->name); in drm_helper_probe_single_connector_modes()
348 list_for_each_entry(mode, &connector->modes, head) { in drm_helper_probe_single_connector_modes()
386 struct drm_connector *connector; in output_poll_execute() local
398 drm_for_each_connector(connector, dev) { in output_poll_execute()
401 if (connector->force) in output_poll_execute()
406 if (!connector->polled || connector->polled == DRM_CONNECTOR_POLL_HPD) in output_poll_execute()
409 old_status = connector->status; in output_poll_execute()
413 !(connector->polled & DRM_CONNECTOR_POLL_DISCONNECT)) in output_poll_execute()
418 connector->status = connector->funcs->detect(connector, false); in output_poll_execute()
419 if (old_status != connector->status) { in output_poll_execute()
435 if (connector->status == connector_status_unknown) { in output_poll_execute()
436 connector->status = old_status; in output_poll_execute()
441 new = drm_get_connector_status_name(connector->status); in output_poll_execute()
445 connector->base.id, in output_poll_execute()
446 connector->name, in output_poll_execute()
582 struct drm_connector *connector; in drm_helper_hpd_irq_event() local
590 drm_for_each_connector(connector, dev) { in drm_helper_hpd_irq_event()
593 if (!(connector->polled & DRM_CONNECTOR_POLL_HPD)) in drm_helper_hpd_irq_event()
596 old_status = connector->status; in drm_helper_hpd_irq_event()
598 connector->status = connector->funcs->detect(connector, false); in drm_helper_hpd_irq_event()
600 connector->base.id, in drm_helper_hpd_irq_event()
601 connector->name, in drm_helper_hpd_irq_event()
603 drm_get_connector_status_name(connector->status)); in drm_helper_hpd_irq_event()
604 if (old_status != connector->status) in drm_helper_hpd_irq_event()