• Home
  • Raw
  • Download

Lines Matching refs:connector

67 find_encoder(struct drm_connector *connector, int type)  in find_encoder()  argument
69 struct drm_device *dev = connector->dev; in find_encoder()
75 id = connector->encoder_ids[i]; in find_encoder()
107 nouveau_connector_destroy(struct drm_connector *connector) in nouveau_connector_destroy() argument
109 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_destroy()
112 drm_connector_unregister(connector); in nouveau_connector_destroy()
113 drm_connector_cleanup(connector); in nouveau_connector_destroy()
116 kfree(connector); in nouveau_connector_destroy()
120 nouveau_connector_ddc_detect(struct drm_connector *connector) in nouveau_connector_ddc_detect() argument
122 struct drm_device *dev = connector->dev; in nouveau_connector_ddc_detect()
123 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_ddc_detect()
143 int id = connector->encoder_ids[i]; in nouveau_connector_ddc_detect()
184 nouveau_connector_of_detect(struct drm_connector *connector) in nouveau_connector_of_detect() argument
187 struct drm_device *dev = connector->dev; in nouveau_connector_of_detect()
188 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_of_detect()
193 !((nv_encoder = find_encoder(connector, DCB_OUTPUT_TMDS)) || in nouveau_connector_of_detect()
194 (nv_encoder = find_encoder(connector, DCB_OUTPUT_ANALOG)))) in nouveau_connector_of_detect()
214 nouveau_connector_set_encoder(struct drm_connector *connector, in nouveau_connector_set_encoder() argument
217 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_set_encoder()
218 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_connector_set_encoder()
219 struct drm_device *dev = connector->dev; in nouveau_connector_set_encoder()
226 connector->interlace_allowed = true; in nouveau_connector_set_encoder()
227 connector->doublescan_allowed = true; in nouveau_connector_set_encoder()
231 connector->doublescan_allowed = false; in nouveau_connector_set_encoder()
232 connector->interlace_allowed = false; in nouveau_connector_set_encoder()
234 connector->doublescan_allowed = true; in nouveau_connector_set_encoder()
240 connector->interlace_allowed = false; in nouveau_connector_set_encoder()
242 connector->interlace_allowed = true; in nouveau_connector_set_encoder()
246 drm_object_property_set_value(&connector->base, in nouveau_connector_set_encoder()
255 nouveau_connector_detect(struct drm_connector *connector, bool force) in nouveau_connector_detect() argument
257 struct drm_device *dev = connector->dev; in nouveau_connector_detect()
259 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_detect()
269 drm_mode_connector_update_edid_property(connector, NULL); in nouveau_connector_detect()
279 ret = pm_runtime_get_sync(connector->dev->dev); in nouveau_connector_detect()
284 nv_encoder = nouveau_connector_ddc_detect(connector); in nouveau_connector_detect()
289 nv_connector->edid = drm_get_edid_switcheroo(connector, in nouveau_connector_detect()
292 nv_connector->edid = drm_get_edid(connector, i2c); in nouveau_connector_detect()
294 drm_mode_connector_update_edid_property(connector, in nouveau_connector_detect()
298 connector->name); in nouveau_connector_detect()
309 nv_partner = find_encoder(connector, DCB_OUTPUT_ANALOG); in nouveau_connector_detect()
311 nv_partner = find_encoder(connector, DCB_OUTPUT_TMDS); in nouveau_connector_detect()
322 nv_encoder = find_encoder(connector, type); in nouveau_connector_detect()
325 nouveau_connector_set_encoder(connector, nv_encoder); in nouveau_connector_detect()
330 nv_encoder = nouveau_connector_of_detect(connector); in nouveau_connector_detect()
332 nouveau_connector_set_encoder(connector, nv_encoder); in nouveau_connector_detect()
338 nv_encoder = find_encoder(connector, DCB_OUTPUT_ANALOG); in nouveau_connector_detect()
340 nv_encoder = find_encoder(connector, DCB_OUTPUT_TV); in nouveau_connector_detect()
346 if (helper->detect(encoder, connector) == in nouveau_connector_detect()
348 nouveau_connector_set_encoder(connector, nv_encoder); in nouveau_connector_detect()
358 pm_runtime_mark_last_busy(connector->dev->dev); in nouveau_connector_detect()
359 pm_runtime_put_autosuspend(connector->dev->dev); in nouveau_connector_detect()
366 nouveau_connector_detect_lvds(struct drm_connector *connector, bool force) in nouveau_connector_detect_lvds() argument
368 struct drm_device *dev = connector->dev; in nouveau_connector_detect_lvds()
370 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_detect_lvds()
376 drm_mode_connector_update_edid_property(connector, NULL); in nouveau_connector_detect_lvds()
381 nv_encoder = find_encoder(connector, DCB_OUTPUT_LVDS); in nouveau_connector_detect_lvds()
387 status = nouveau_connector_detect(connector, force); in nouveau_connector_detect_lvds()
402 if ((nv_connector->edid = nouveau_acpi_edid(dev, connector))) { in nouveau_connector_detect_lvds()
440 drm_mode_connector_update_edid_property(connector, nv_connector->edid); in nouveau_connector_detect_lvds()
441 nouveau_connector_set_encoder(connector, nv_encoder); in nouveau_connector_detect_lvds()
446 nouveau_connector_force(struct drm_connector *connector) in nouveau_connector_force() argument
448 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_connector_force()
449 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_force()
454 if (connector->force == DRM_FORCE_ON_DIGITAL) in nouveau_connector_force()
461 nv_encoder = find_encoder(connector, type); in nouveau_connector_force()
464 connector->name); in nouveau_connector_force()
465 connector->status = connector_status_disconnected; in nouveau_connector_force()
469 nouveau_connector_set_encoder(connector, nv_encoder); in nouveau_connector_force()
473 nouveau_connector_set_property(struct drm_connector *connector, in nouveau_connector_set_property() argument
476 struct nouveau_display *disp = nouveau_display(connector->dev); in nouveau_connector_set_property()
477 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_set_property()
480 struct drm_device *dev = connector->dev; in nouveau_connector_set_property()
485 if (connector->encoder && connector->encoder->crtc) in nouveau_connector_set_property()
486 nv_crtc = nouveau_crtc(connector->encoder->crtc); in nouveau_connector_set_property()
620 encoder, connector, property, value); in nouveau_connector_set_property()
626 nouveau_connector_native_mode(struct drm_connector *connector) in nouveau_connector_native_mode() argument
628 const struct drm_connector_helper_funcs *helper = connector->helper_private; in nouveau_connector_native_mode()
629 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_connector_native_mode()
630 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_native_mode()
631 struct drm_device *dev = connector->dev; in nouveau_connector_native_mode()
637 if (helper->mode_valid(connector, mode) != MODE_OK || in nouveau_connector_native_mode()
695 nouveau_connector_scaler_modes_add(struct drm_connector *connector) in nouveau_connector_scaler_modes_add() argument
697 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_scaler_modes_add()
699 struct drm_device *dev = connector->dev; in nouveau_connector_scaler_modes_add()
717 drm_mode_probed_add(connector, m); in nouveau_connector_scaler_modes_add()
728 nouveau_connector_detect_depth(struct drm_connector *connector) in nouveau_connector_detect_depth() argument
730 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_connector_detect_depth()
731 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_detect_depth()
738 if (nv_connector->edid && connector->display_info.bpc) in nouveau_connector_detect_depth()
743 connector->display_info.bpc = 6; in nouveau_connector_detect_depth()
749 connector->display_info.bpc = 8; in nouveau_connector_detect_depth()
753 connector->display_info.bpc = 6; in nouveau_connector_detect_depth()
758 connector->display_info.bpc = 8; in nouveau_connector_detect_depth()
773 connector->display_info.bpc = 8; in nouveau_connector_detect_depth()
777 nouveau_connector_get_modes(struct drm_connector *connector) in nouveau_connector_get_modes() argument
779 struct drm_device *dev = connector->dev; in nouveau_connector_get_modes()
781 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_get_modes()
794 ret = drm_add_edid_modes(connector, nv_connector->edid); in nouveau_connector_get_modes()
808 if (connector->connector_type != DRM_MODE_CONNECTOR_LVDS) in nouveau_connector_get_modes()
809 nouveau_connector_detect_depth(connector); in nouveau_connector_get_modes()
817 nouveau_connector_native_mode(connector); in nouveau_connector_get_modes()
822 drm_mode_probed_add(connector, mode); in nouveau_connector_get_modes()
830 if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) in nouveau_connector_get_modes()
831 nouveau_connector_detect_depth(connector); in nouveau_connector_get_modes()
834 ret = get_slave_funcs(encoder)->get_modes(encoder, connector); in nouveau_connector_get_modes()
839 ret += nouveau_connector_scaler_modes_add(connector); in nouveau_connector_get_modes()
845 get_tmds_link_bandwidth(struct drm_connector *connector, bool hdmi) in get_tmds_link_bandwidth() argument
847 struct nouveau_connector *nv_connector = nouveau_connector(connector); in get_tmds_link_bandwidth()
848 struct nouveau_drm *drm = nouveau_drm(connector->dev); in get_tmds_link_bandwidth()
874 nouveau_connector_mode_valid(struct drm_connector *connector, in nouveau_connector_mode_valid() argument
877 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_mode_valid()
896 max_clock = get_tmds_link_bandwidth(connector, hdmi); in nouveau_connector_mode_valid()
911 clock = clock * (connector->display_info.bpc * 3) / 10; in nouveau_connector_mode_valid()
928 nouveau_connector_best_encoder(struct drm_connector *connector) in nouveau_connector_best_encoder() argument
930 struct nouveau_connector *nv_connector = nouveau_connector(connector); in nouveau_connector_best_encoder()
966 nouveau_connector_dp_dpms(struct drm_connector *connector, int mode) in nouveau_connector_dp_dpms() argument
970 if (connector->encoder) in nouveau_connector_dp_dpms()
971 nv_encoder = nouveau_encoder(connector->encoder); in nouveau_connector_dp_dpms()
984 return drm_helper_connector_dpms(connector, mode); in nouveau_connector_dp_dpms()
1002 struct drm_connector *connector = &nv_connector->base; in nouveau_connector_hotplug() local
1003 struct nouveau_drm *drm = nouveau_drm(connector->dev); in nouveau_connector_hotplug()
1005 const char *name = connector->name; in nouveau_connector_hotplug()
1015 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); in nouveau_connector_hotplug()
1017 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); in nouveau_connector_hotplug()
1020 drm_helper_hpd_irq_event(connector->dev); in nouveau_connector_hotplug()
1093 struct drm_connector *connector; in nouveau_connector_create() local
1097 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in nouveau_connector_create()
1098 nv_connector = nouveau_connector(connector); in nouveau_connector_create()
1100 return connector; in nouveau_connector_create()
1107 connector = &nv_connector->base; in nouveau_connector_create()
1150 if (dcbt->entry[i].connector == nv_connector->index) in nouveau_connector_create()
1207 connector->interlace_allowed = false; in nouveau_connector_create()
1208 connector->doublescan_allowed = false; in nouveau_connector_create()
1210 drm_connector_init(dev, connector, funcs, type); in nouveau_connector_create()
1211 drm_connector_helper_add(connector, &nouveau_connector_helper_funcs); in nouveau_connector_create()
1215 drm_object_attach_property(&connector->base, dev->mode_config.dvi_i_subconnector_property, 0); in nouveau_connector_create()
1223 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1226 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1229 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1236 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1240 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1272 drm_object_attach_property(&connector->base, dev->mode_config. in nouveau_connector_create()
1288 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1295 drm_object_attach_property(&connector->base, in nouveau_connector_create()
1313 connector->polled = DRM_CONNECTOR_POLL_CONNECT; in nouveau_connector_create()
1315 connector->polled = DRM_CONNECTOR_POLL_HPD; in nouveau_connector_create()
1317 drm_connector_register(connector); in nouveau_connector_create()
1318 return connector; in nouveau_connector_create()