Lines Matching refs:connector

43 void amdgpu_connector_hotplug(struct drm_connector *connector)  in amdgpu_connector_hotplug()  argument
45 struct drm_device *dev = connector->dev; in amdgpu_connector_hotplug()
47 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_hotplug()
58 if (connector->dpms != DRM_MODE_DPMS_ON) in amdgpu_connector_hotplug()
62 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in amdgpu_connector_hotplug()
85 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); in amdgpu_connector_hotplug()
86 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); in amdgpu_connector_hotplug()
101 int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector) in amdgpu_connector_get_monitor_bpc() argument
103 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_get_monitor_bpc()
108 switch (connector->connector_type) { in amdgpu_connector_get_monitor_bpc()
112 if (connector->display_info.is_hdmi) { in amdgpu_connector_get_monitor_bpc()
113 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
114 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
120 if (connector->display_info.is_hdmi) { in amdgpu_connector_get_monitor_bpc()
121 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
122 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
129 connector->display_info.is_hdmi) { in amdgpu_connector_get_monitor_bpc()
130 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
131 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
136 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
137 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
140 connector->helper_private; in amdgpu_connector_get_monitor_bpc()
141 struct drm_encoder *encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_get_monitor_bpc()
153 if (connector->display_info.is_hdmi) { in amdgpu_connector_get_monitor_bpc()
162 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
167 if (connector->display_info.max_tmds_clock > 0) { in amdgpu_connector_get_monitor_bpc()
172 max_tmds_clock = connector->display_info.max_tmds_clock; in amdgpu_connector_get_monitor_bpc()
175 connector->name, mode_clock, max_tmds_clock); in amdgpu_connector_get_monitor_bpc()
179 if ((connector->display_info.edid_hdmi_rgb444_dc_modes & DRM_EDID_HDMI_DC_30) && in amdgpu_connector_get_monitor_bpc()
186 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
192 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
197 connector->name); in amdgpu_connector_get_monitor_bpc()
204 connector->name); in amdgpu_connector_get_monitor_bpc()
209 connector->name, connector->display_info.bpc, bpc); in amdgpu_connector_get_monitor_bpc()
215 amdgpu_connector_update_scratch_regs(struct drm_connector *connector, in amdgpu_connector_update_scratch_regs() argument
220 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_update_scratch_regs()
223 best_encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_update_scratch_regs()
225 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_update_scratch_regs()
231 amdgpu_atombios_encoder_set_bios_scratch_regs(connector, encoder, connected); in amdgpu_connector_update_scratch_regs()
236 amdgpu_connector_find_encoder(struct drm_connector *connector, in amdgpu_connector_find_encoder() argument
241 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_find_encoder()
249 struct edid *amdgpu_connector_edid(struct drm_connector *connector) in amdgpu_connector_edid() argument
251 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_edid()
252 struct drm_property_blob *edid_blob = connector->edid_blob_ptr; in amdgpu_connector_edid()
281 static void amdgpu_connector_get_edid(struct drm_connector *connector) in amdgpu_connector_get_edid() argument
283 struct drm_device *dev = connector->dev; in amdgpu_connector_get_edid()
285 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_get_edid()
294 if ((amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_get_edid()
297 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
299 } else if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || in amdgpu_connector_get_edid()
300 (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { in amdgpu_connector_get_edid()
306 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
309 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
312 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
318 if (((connector->connector_type == DRM_MODE_CONNECTOR_LVDS) || in amdgpu_connector_get_edid()
319 (connector->connector_type == DRM_MODE_CONNECTOR_eDP))) { in amdgpu_connector_get_edid()
321 drm_connector_update_edid_property(connector, amdgpu_connector->edid); in amdgpu_connector_get_edid()
326 static void amdgpu_connector_free_edid(struct drm_connector *connector) in amdgpu_connector_free_edid() argument
328 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_free_edid()
334 static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector) in amdgpu_connector_ddc_get_modes() argument
336 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_ddc_get_modes()
340 drm_connector_update_edid_property(connector, amdgpu_connector->edid); in amdgpu_connector_ddc_get_modes()
341 ret = drm_add_edid_modes(connector, amdgpu_connector->edid); in amdgpu_connector_ddc_get_modes()
344 drm_connector_update_edid_property(connector, NULL); in amdgpu_connector_ddc_get_modes()
349 amdgpu_connector_best_single_encoder(struct drm_connector *connector) in amdgpu_connector_best_single_encoder() argument
354 drm_connector_for_each_possible_encoder(connector, encoder) in amdgpu_connector_best_single_encoder()
360 static void amdgpu_get_native_mode(struct drm_connector *connector) in amdgpu_get_native_mode() argument
362 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_get_native_mode()
370 if (!list_empty(&connector->probed_modes)) { in amdgpu_get_native_mode()
372 list_first_entry(&connector->probed_modes, in amdgpu_get_native_mode()
420 struct drm_connector *connector) in amdgpu_connector_add_common_modes() argument
467 drm_mode_probed_add(connector, mode); in amdgpu_connector_add_common_modes()
471 static int amdgpu_connector_set_property(struct drm_connector *connector, in amdgpu_connector_set_property() argument
475 struct drm_device *dev = connector->dev; in amdgpu_connector_set_property()
485 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
503 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
505 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
518 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
520 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
534 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
548 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
562 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
576 to_amdgpu_connector(connector); in amdgpu_connector_set_property()
587 if (connector->encoder) { in amdgpu_connector_set_property()
588 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_property()
590 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_property()
591 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_property()
618 struct drm_connector *connector) in amdgpu_connector_fixup_lcd_native_mode() argument
625 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
635 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
652 static int amdgpu_connector_lvds_get_modes(struct drm_connector *connector) in amdgpu_connector_lvds_get_modes() argument
658 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_get_modes()
659 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_lvds_get_modes()
661 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
663 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_lvds_get_modes()
665 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
670 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
678 drm_mode_probed_add(connector, mode); in amdgpu_connector_lvds_get_modes()
680 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_lvds_get_modes()
681 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_lvds_get_modes()
683 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
689 static enum drm_mode_status amdgpu_connector_lvds_mode_valid(struct drm_connector *connector, in amdgpu_connector_lvds_mode_valid() argument
692 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_mode_valid()
720 amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force) in amdgpu_connector_lvds_detect() argument
722 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_lvds_detect()
723 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_detect()
728 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_lvds_detect()
730 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_lvds_detect()
746 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_detect()
751 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_lvds_detect()
754 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_lvds_detect()
755 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_lvds_detect()
761 static void amdgpu_connector_unregister(struct drm_connector *connector) in amdgpu_connector_unregister() argument
763 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_unregister()
771 static void amdgpu_connector_destroy(struct drm_connector *connector) in amdgpu_connector_destroy() argument
773 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_destroy()
775 amdgpu_connector_free_edid(connector); in amdgpu_connector_destroy()
777 drm_connector_unregister(connector); in amdgpu_connector_destroy()
778 drm_connector_cleanup(connector); in amdgpu_connector_destroy()
779 kfree(connector); in amdgpu_connector_destroy()
782 static int amdgpu_connector_set_lcd_property(struct drm_connector *connector, in amdgpu_connector_set_lcd_property() argument
786 struct drm_device *dev = connector->dev; in amdgpu_connector_set_lcd_property()
794 if (connector->encoder) in amdgpu_connector_set_lcd_property()
795 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_lcd_property()
797 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_lcd_property()
798 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_lcd_property()
833 static int amdgpu_connector_vga_get_modes(struct drm_connector *connector) in amdgpu_connector_vga_get_modes() argument
837 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_get_modes()
838 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_vga_get_modes()
839 amdgpu_get_native_mode(connector); in amdgpu_connector_vga_get_modes()
844 static enum drm_mode_status amdgpu_connector_vga_mode_valid(struct drm_connector *connector, in amdgpu_connector_vga_mode_valid() argument
847 struct drm_device *dev = connector->dev; in amdgpu_connector_vga_mode_valid()
859 amdgpu_connector_vga_detect(struct drm_connector *connector, bool force) in amdgpu_connector_vga_detect() argument
861 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_vga_detect()
869 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_vga_detect()
871 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_vga_detect()
876 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_vga_detect()
884 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
885 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_detect()
889 connector->name); in amdgpu_connector_vga_detect()
899 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
913 ret = connector->status; in amdgpu_connector_vga_detect()
919 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_vga_detect()
925 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_vga_detect()
929 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_vga_detect()
930 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_vga_detect()
952 amdgpu_connector_check_hpd_status_unchanged(struct drm_connector *connector) in amdgpu_connector_check_hpd_status_unchanged() argument
954 struct drm_device *dev = connector->dev; in amdgpu_connector_check_hpd_status_unchanged()
956 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_check_hpd_status_unchanged()
964 if (connector->status == status) in amdgpu_connector_check_hpd_status_unchanged()
983 amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dvi_detect() argument
985 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_detect()
987 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_detect()
994 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dvi_detect()
996 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dvi_detect()
1006 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dvi_detect()
1007 ret = connector->status; in amdgpu_connector_dvi_detect()
1030 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1031 amdgpu_connector_get_edid(connector); in amdgpu_connector_dvi_detect()
1035 connector->name); in amdgpu_connector_dvi_detect()
1046 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1065 if (connector == list_connector) in amdgpu_connector_dvi_detect()
1075 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1090 if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) || in amdgpu_connector_dvi_detect()
1091 (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)) in amdgpu_connector_dvi_detect()
1100 ret = connector->status; in amdgpu_connector_dvi_detect()
1108 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_dvi_detect()
1118 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1129 lret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1141 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dvi_detect()
1145 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dvi_detect()
1146 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dvi_detect()
1154 amdgpu_connector_dvi_encoder(struct drm_connector *connector) in amdgpu_connector_dvi_encoder() argument
1156 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_encoder()
1159 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_dvi_encoder()
1174 drm_connector_for_each_possible_encoder(connector, encoder) in amdgpu_connector_dvi_encoder()
1180 static void amdgpu_connector_dvi_force(struct drm_connector *connector) in amdgpu_connector_dvi_force() argument
1182 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_force()
1183 if (connector->force == DRM_FORCE_ON) in amdgpu_connector_dvi_force()
1185 if (connector->force == DRM_FORCE_ON_DIGITAL) in amdgpu_connector_dvi_force()
1189 static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector, in amdgpu_connector_dvi_mode_valid() argument
1192 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_mode_valid()
1194 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_mode_valid()
1203 } else if (connector->display_info.is_hdmi) { in amdgpu_connector_dvi_mode_valid()
1237 static int amdgpu_connector_dp_get_modes(struct drm_connector *connector) in amdgpu_connector_dp_get_modes() argument
1239 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_get_modes()
1241 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_get_modes()
1244 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_get_modes()
1245 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_get_modes()
1248 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { in amdgpu_connector_dp_get_modes()
1250 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1252 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1253 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1255 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1259 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1264 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1265 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1270 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_dp_get_modes()
1272 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1284 drm_mode_probed_add(connector, mode); in amdgpu_connector_dp_get_modes()
1286 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_dp_get_modes()
1287 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_dp_get_modes()
1289 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1293 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1298 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1299 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1301 amdgpu_get_native_mode(connector); in amdgpu_connector_dp_get_modes()
1307 u16 amdgpu_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) in amdgpu_connector_encoder_get_dp_bridge_encoder_id() argument
1312 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_encoder_get_dp_bridge_encoder_id()
1327 static bool amdgpu_connector_encoder_is_hbr2(struct drm_connector *connector) in amdgpu_connector_encoder_is_hbr2() argument
1333 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_encoder_is_hbr2()
1342 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector) in amdgpu_connector_is_dp12_capable() argument
1344 struct drm_device *dev = connector->dev; in amdgpu_connector_is_dp12_capable()
1348 amdgpu_connector_encoder_is_hbr2(connector)) { in amdgpu_connector_is_dp12_capable()
1356 amdgpu_connector_dp_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dp_detect() argument
1358 struct drm_device *dev = connector->dev; in amdgpu_connector_dp_detect()
1360 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_detect()
1363 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_detect()
1367 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dp_detect()
1369 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dp_detect()
1374 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dp_detect()
1375 ret = connector->status; in amdgpu_connector_dp_detect()
1379 amdgpu_connector_free_edid(connector); in amdgpu_connector_dp_detect()
1381 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_detect()
1382 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_detect()
1394 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1399 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1401 } else if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_detect()
1417 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dp_detect()
1440 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dp_detect()
1443 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dp_detect()
1444 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dp_detect()
1447 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || in amdgpu_connector_dp_detect()
1448 connector->connector_type == DRM_MODE_CONNECTOR_eDP) in amdgpu_connector_dp_detect()
1456 static enum drm_mode_status amdgpu_connector_dp_mode_valid(struct drm_connector *connector, in amdgpu_connector_dp_mode_valid() argument
1459 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_mode_valid()
1464 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_mode_valid()
1465 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_mode_valid()
1466 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_mode_valid()
1493 return amdgpu_atombios_dp_mode_valid_helper(connector, mode); in amdgpu_connector_dp_mode_valid()
1495 if (connector->display_info.is_hdmi) { in amdgpu_connector_dp_mode_valid()
1510 amdgpu_connector_late_register(struct drm_connector *connector) in amdgpu_connector_late_register() argument
1512 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_late_register()
1562 struct drm_connector *connector; in amdgpu_connector_add() local
1579 drm_for_each_connector_iter(connector, &iter) { in amdgpu_connector_add()
1580 amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_add()
1619 connector = &amdgpu_connector->base; in amdgpu_connector_add()
1658 connector->interlace_allowed = true; in amdgpu_connector_add()
1659 connector->doublescan_allowed = true; in amdgpu_connector_add()
1705 connector->interlace_allowed = true; in amdgpu_connector_add()
1707 connector->doublescan_allowed = true; in amdgpu_connector_add()
1709 connector->doublescan_allowed = false; in amdgpu_connector_add()
1729 connector->interlace_allowed = false; in amdgpu_connector_add()
1730 connector->doublescan_allowed = false; in amdgpu_connector_add()
1757 connector->interlace_allowed = true; in amdgpu_connector_add()
1758 connector->doublescan_allowed = true; in amdgpu_connector_add()
1782 connector->interlace_allowed = true; in amdgpu_connector_add()
1783 connector->doublescan_allowed = true; in amdgpu_connector_add()
1835 connector->interlace_allowed = true; in amdgpu_connector_add()
1837 connector->doublescan_allowed = true; in amdgpu_connector_add()
1839 connector->doublescan_allowed = false; in amdgpu_connector_add()
1884 connector->interlace_allowed = true; in amdgpu_connector_add()
1886 connector->doublescan_allowed = true; in amdgpu_connector_add()
1888 connector->doublescan_allowed = false; in amdgpu_connector_add()
1934 connector->interlace_allowed = true; in amdgpu_connector_add()
1936 connector->doublescan_allowed = false; in amdgpu_connector_add()
1961 connector->interlace_allowed = false; in amdgpu_connector_add()
1962 connector->doublescan_allowed = false; in amdgpu_connector_add()
1985 connector->interlace_allowed = false; in amdgpu_connector_add()
1986 connector->doublescan_allowed = false; in amdgpu_connector_add()
1993 connector->polled = DRM_CONNECTOR_POLL_CONNECT | in amdgpu_connector_add()
1997 connector->polled = DRM_CONNECTOR_POLL_HPD; in amdgpu_connector_add()
1999 connector->display_info.subpixel_order = subpixel_order; in amdgpu_connector_add()
2012 drm_connector_cleanup(connector); in amdgpu_connector_add()
2013 kfree(connector); in amdgpu_connector_add()