Lines Matching refs:connector

42 void amdgpu_connector_hotplug(struct drm_connector *connector)  in amdgpu_connector_hotplug()  argument
44 struct drm_device *dev = connector->dev; in amdgpu_connector_hotplug()
46 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_hotplug()
57 if (connector->dpms != DRM_MODE_DPMS_ON) in amdgpu_connector_hotplug()
61 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in amdgpu_connector_hotplug()
84 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); in amdgpu_connector_hotplug()
85 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); in amdgpu_connector_hotplug()
100 int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector) in amdgpu_connector_get_monitor_bpc() argument
102 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_get_monitor_bpc()
107 switch (connector->connector_type) { in amdgpu_connector_get_monitor_bpc()
111 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
112 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
113 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
119 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
120 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
121 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
128 drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
129 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
130 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
135 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
136 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
139 connector->helper_private; in amdgpu_connector_get_monitor_bpc()
140 struct drm_encoder *encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_get_monitor_bpc()
152 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
161 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
166 if (connector->display_info.max_tmds_clock > 0) { in amdgpu_connector_get_monitor_bpc()
171 max_tmds_clock = connector->display_info.max_tmds_clock; in amdgpu_connector_get_monitor_bpc()
174 connector->name, mode_clock, max_tmds_clock); in amdgpu_connector_get_monitor_bpc()
178 if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) && in amdgpu_connector_get_monitor_bpc()
185 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
191 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
196 connector->name); in amdgpu_connector_get_monitor_bpc()
203 connector->name); in amdgpu_connector_get_monitor_bpc()
208 connector->name, connector->display_info.bpc, bpc); in amdgpu_connector_get_monitor_bpc()
214 amdgpu_connector_update_scratch_regs(struct drm_connector *connector, in amdgpu_connector_update_scratch_regs() argument
219 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_update_scratch_regs()
222 best_encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_update_scratch_regs()
224 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_update_scratch_regs()
230 amdgpu_atombios_encoder_set_bios_scratch_regs(connector, encoder, connected); in amdgpu_connector_update_scratch_regs()
235 amdgpu_connector_find_encoder(struct drm_connector *connector, in amdgpu_connector_find_encoder() argument
240 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_find_encoder()
248 struct edid *amdgpu_connector_edid(struct drm_connector *connector) in amdgpu_connector_edid() argument
250 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_edid()
251 struct drm_property_blob *edid_blob = connector->edid_blob_ptr; in amdgpu_connector_edid()
280 static void amdgpu_connector_get_edid(struct drm_connector *connector) in amdgpu_connector_get_edid() argument
282 struct drm_device *dev = connector->dev; in amdgpu_connector_get_edid()
284 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_get_edid()
293 if ((amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_get_edid()
296 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
298 } else if ((connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) || in amdgpu_connector_get_edid()
299 (connector->connector_type == DRM_MODE_CONNECTOR_eDP)) { in amdgpu_connector_get_edid()
305 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
308 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
311 amdgpu_connector->edid = drm_get_edid(connector, in amdgpu_connector_get_edid()
317 if (((connector->connector_type == DRM_MODE_CONNECTOR_LVDS) || in amdgpu_connector_get_edid()
318 (connector->connector_type == DRM_MODE_CONNECTOR_eDP))) in amdgpu_connector_get_edid()
323 static void amdgpu_connector_free_edid(struct drm_connector *connector) in amdgpu_connector_free_edid() argument
325 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_free_edid()
331 static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector) in amdgpu_connector_ddc_get_modes() argument
333 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_ddc_get_modes()
337 drm_connector_update_edid_property(connector, amdgpu_connector->edid); in amdgpu_connector_ddc_get_modes()
338 ret = drm_add_edid_modes(connector, amdgpu_connector->edid); in amdgpu_connector_ddc_get_modes()
341 drm_connector_update_edid_property(connector, NULL); in amdgpu_connector_ddc_get_modes()
346 amdgpu_connector_best_single_encoder(struct drm_connector *connector) in amdgpu_connector_best_single_encoder() argument
351 drm_connector_for_each_possible_encoder(connector, encoder) in amdgpu_connector_best_single_encoder()
357 static void amdgpu_get_native_mode(struct drm_connector *connector) in amdgpu_get_native_mode() argument
359 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_get_native_mode()
367 if (!list_empty(&connector->probed_modes)) { in amdgpu_get_native_mode()
369 list_first_entry(&connector->probed_modes, in amdgpu_get_native_mode()
411 struct drm_connector *connector) in amdgpu_connector_add_common_modes() argument
458 drm_mode_probed_add(connector, mode); in amdgpu_connector_add_common_modes()
462 static int amdgpu_connector_set_property(struct drm_connector *connector, in amdgpu_connector_set_property() argument
466 struct drm_device *dev = connector->dev; in amdgpu_connector_set_property()
476 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
494 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
496 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
509 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
511 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
525 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
539 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
553 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
567 to_amdgpu_connector(connector); in amdgpu_connector_set_property()
578 if (connector->encoder) { in amdgpu_connector_set_property()
579 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_property()
581 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_property()
582 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_property()
609 struct drm_connector *connector) in amdgpu_connector_fixup_lcd_native_mode() argument
616 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
626 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
643 static int amdgpu_connector_lvds_get_modes(struct drm_connector *connector) in amdgpu_connector_lvds_get_modes() argument
649 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_get_modes()
650 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_lvds_get_modes()
652 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
654 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_lvds_get_modes()
656 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
661 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
669 drm_mode_probed_add(connector, mode); in amdgpu_connector_lvds_get_modes()
671 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_lvds_get_modes()
672 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_lvds_get_modes()
674 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
680 static enum drm_mode_status amdgpu_connector_lvds_mode_valid(struct drm_connector *connector, in amdgpu_connector_lvds_mode_valid() argument
683 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_mode_valid()
711 amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force) in amdgpu_connector_lvds_detect() argument
713 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_lvds_detect()
714 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_detect()
719 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_lvds_detect()
721 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_lvds_detect()
737 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_detect()
742 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_lvds_detect()
745 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_lvds_detect()
746 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_lvds_detect()
752 static void amdgpu_connector_unregister(struct drm_connector *connector) in amdgpu_connector_unregister() argument
754 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_unregister()
762 static void amdgpu_connector_destroy(struct drm_connector *connector) in amdgpu_connector_destroy() argument
764 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_destroy()
766 amdgpu_connector_free_edid(connector); in amdgpu_connector_destroy()
768 drm_connector_unregister(connector); in amdgpu_connector_destroy()
769 drm_connector_cleanup(connector); in amdgpu_connector_destroy()
770 kfree(connector); in amdgpu_connector_destroy()
773 static int amdgpu_connector_set_lcd_property(struct drm_connector *connector, in amdgpu_connector_set_lcd_property() argument
777 struct drm_device *dev = connector->dev; in amdgpu_connector_set_lcd_property()
785 if (connector->encoder) in amdgpu_connector_set_lcd_property()
786 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_lcd_property()
788 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_lcd_property()
789 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_lcd_property()
824 static int amdgpu_connector_vga_get_modes(struct drm_connector *connector) in amdgpu_connector_vga_get_modes() argument
828 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_get_modes()
829 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_vga_get_modes()
830 amdgpu_get_native_mode(connector); in amdgpu_connector_vga_get_modes()
835 static enum drm_mode_status amdgpu_connector_vga_mode_valid(struct drm_connector *connector, in amdgpu_connector_vga_mode_valid() argument
838 struct drm_device *dev = connector->dev; in amdgpu_connector_vga_mode_valid()
850 amdgpu_connector_vga_detect(struct drm_connector *connector, bool force) in amdgpu_connector_vga_detect() argument
852 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_vga_detect()
860 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_vga_detect()
862 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_vga_detect()
867 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_vga_detect()
875 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
876 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_detect()
880 connector->name); in amdgpu_connector_vga_detect()
890 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
904 ret = connector->status; in amdgpu_connector_vga_detect()
910 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_vga_detect()
916 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_vga_detect()
920 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_vga_detect()
921 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_vga_detect()
943 amdgpu_connector_check_hpd_status_unchanged(struct drm_connector *connector) in amdgpu_connector_check_hpd_status_unchanged() argument
945 struct drm_device *dev = connector->dev; in amdgpu_connector_check_hpd_status_unchanged()
947 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_check_hpd_status_unchanged()
955 if (connector->status == status) in amdgpu_connector_check_hpd_status_unchanged()
974 amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dvi_detect() argument
976 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_detect()
978 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_detect()
985 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dvi_detect()
987 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dvi_detect()
992 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dvi_detect()
993 ret = connector->status; in amdgpu_connector_dvi_detect()
1001 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1002 amdgpu_connector_get_edid(connector); in amdgpu_connector_dvi_detect()
1006 connector->name); in amdgpu_connector_dvi_detect()
1017 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1036 if (connector == list_connector) in amdgpu_connector_dvi_detect()
1046 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1061 if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) || in amdgpu_connector_dvi_detect()
1062 (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)) in amdgpu_connector_dvi_detect()
1071 ret = connector->status; in amdgpu_connector_dvi_detect()
1079 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_dvi_detect()
1089 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1100 lret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1112 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dvi_detect()
1116 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dvi_detect()
1117 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dvi_detect()
1125 amdgpu_connector_dvi_encoder(struct drm_connector *connector) in amdgpu_connector_dvi_encoder() argument
1127 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_encoder()
1130 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_dvi_encoder()
1145 drm_connector_for_each_possible_encoder(connector, encoder) in amdgpu_connector_dvi_encoder()
1151 static void amdgpu_connector_dvi_force(struct drm_connector *connector) in amdgpu_connector_dvi_force() argument
1153 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_force()
1154 if (connector->force == DRM_FORCE_ON) in amdgpu_connector_dvi_force()
1156 if (connector->force == DRM_FORCE_ON_DIGITAL) in amdgpu_connector_dvi_force()
1160 static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector, in amdgpu_connector_dvi_mode_valid() argument
1163 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_mode_valid()
1165 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_mode_valid()
1174 } else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_dvi_mode_valid()
1208 static int amdgpu_connector_dp_get_modes(struct drm_connector *connector) in amdgpu_connector_dp_get_modes() argument
1210 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_get_modes()
1212 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_get_modes()
1215 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_get_modes()
1216 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_get_modes()
1219 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { in amdgpu_connector_dp_get_modes()
1221 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1223 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1224 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1226 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1230 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1235 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1236 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1241 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_dp_get_modes()
1243 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1255 drm_mode_probed_add(connector, mode); in amdgpu_connector_dp_get_modes()
1257 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_dp_get_modes()
1258 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_dp_get_modes()
1260 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1264 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1269 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1270 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1272 amdgpu_get_native_mode(connector); in amdgpu_connector_dp_get_modes()
1278 u16 amdgpu_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) in amdgpu_connector_encoder_get_dp_bridge_encoder_id() argument
1283 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_encoder_get_dp_bridge_encoder_id()
1298 static bool amdgpu_connector_encoder_is_hbr2(struct drm_connector *connector) in amdgpu_connector_encoder_is_hbr2() argument
1304 drm_connector_for_each_possible_encoder(connector, encoder) { in amdgpu_connector_encoder_is_hbr2()
1313 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector) in amdgpu_connector_is_dp12_capable() argument
1315 struct drm_device *dev = connector->dev; in amdgpu_connector_is_dp12_capable()
1319 amdgpu_connector_encoder_is_hbr2(connector)) { in amdgpu_connector_is_dp12_capable()
1327 amdgpu_connector_dp_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dp_detect() argument
1329 struct drm_device *dev = connector->dev; in amdgpu_connector_dp_detect()
1331 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_detect()
1334 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_detect()
1338 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dp_detect()
1340 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dp_detect()
1345 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dp_detect()
1346 ret = connector->status; in amdgpu_connector_dp_detect()
1350 amdgpu_connector_free_edid(connector); in amdgpu_connector_dp_detect()
1352 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_detect()
1353 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_detect()
1365 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1370 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1372 } else if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_detect()
1388 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dp_detect()
1411 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dp_detect()
1414 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dp_detect()
1415 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dp_detect()
1418 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort || in amdgpu_connector_dp_detect()
1419 connector->connector_type == DRM_MODE_CONNECTOR_eDP) in amdgpu_connector_dp_detect()
1427 static enum drm_mode_status amdgpu_connector_dp_mode_valid(struct drm_connector *connector, in amdgpu_connector_dp_mode_valid() argument
1430 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_mode_valid()
1435 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_mode_valid()
1436 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_mode_valid()
1437 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_mode_valid()
1464 return amdgpu_atombios_dp_mode_valid_helper(connector, mode); in amdgpu_connector_dp_mode_valid()
1466 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_dp_mode_valid()
1481 amdgpu_connector_late_register(struct drm_connector *connector) in amdgpu_connector_late_register() argument
1483 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_late_register()
1533 struct drm_connector *connector; in amdgpu_connector_add() local
1550 drm_for_each_connector_iter(connector, &iter) { in amdgpu_connector_add()
1551 amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_add()
1590 connector = &amdgpu_connector->base; in amdgpu_connector_add()
1629 connector->interlace_allowed = true; in amdgpu_connector_add()
1630 connector->doublescan_allowed = true; in amdgpu_connector_add()
1674 connector->interlace_allowed = true; in amdgpu_connector_add()
1676 connector->doublescan_allowed = true; in amdgpu_connector_add()
1678 connector->doublescan_allowed = false; in amdgpu_connector_add()
1698 connector->interlace_allowed = false; in amdgpu_connector_add()
1699 connector->doublescan_allowed = false; in amdgpu_connector_add()
1726 connector->interlace_allowed = true; in amdgpu_connector_add()
1727 connector->doublescan_allowed = true; in amdgpu_connector_add()
1751 connector->interlace_allowed = true; in amdgpu_connector_add()
1752 connector->doublescan_allowed = true; in amdgpu_connector_add()
1803 connector->interlace_allowed = true; in amdgpu_connector_add()
1805 connector->doublescan_allowed = true; in amdgpu_connector_add()
1807 connector->doublescan_allowed = false; in amdgpu_connector_add()
1851 connector->interlace_allowed = true; in amdgpu_connector_add()
1853 connector->doublescan_allowed = true; in amdgpu_connector_add()
1855 connector->doublescan_allowed = false; in amdgpu_connector_add()
1900 connector->interlace_allowed = true; in amdgpu_connector_add()
1902 connector->doublescan_allowed = false; in amdgpu_connector_add()
1927 connector->interlace_allowed = false; in amdgpu_connector_add()
1928 connector->doublescan_allowed = false; in amdgpu_connector_add()
1951 connector->interlace_allowed = false; in amdgpu_connector_add()
1952 connector->doublescan_allowed = false; in amdgpu_connector_add()
1959 connector->polled = DRM_CONNECTOR_POLL_CONNECT | in amdgpu_connector_add()
1963 connector->polled = DRM_CONNECTOR_POLL_HPD; in amdgpu_connector_add()
1965 connector->display_info.subpixel_order = subpixel_order; in amdgpu_connector_add()
1978 drm_connector_cleanup(connector); in amdgpu_connector_add()
1979 kfree(connector); in amdgpu_connector_add()