Lines Matching refs:connector

40 void amdgpu_connector_hotplug(struct drm_connector *connector)  in amdgpu_connector_hotplug()  argument
42 struct drm_device *dev = connector->dev; in amdgpu_connector_hotplug()
44 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_hotplug()
55 if (connector->dpms != DRM_MODE_DPMS_ON) in amdgpu_connector_hotplug()
59 if (connector->connector_type == DRM_MODE_CONNECTOR_DisplayPort) { in amdgpu_connector_hotplug()
82 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF); in amdgpu_connector_hotplug()
83 drm_helper_connector_dpms(connector, DRM_MODE_DPMS_ON); in amdgpu_connector_hotplug()
98 int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector) in amdgpu_connector_get_monitor_bpc() argument
100 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_get_monitor_bpc()
105 switch (connector->connector_type) { in amdgpu_connector_get_monitor_bpc()
109 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
110 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
111 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
117 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
118 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
119 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
126 drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
127 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
128 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
133 if (connector->display_info.bpc) in amdgpu_connector_get_monitor_bpc()
134 bpc = connector->display_info.bpc; in amdgpu_connector_get_monitor_bpc()
137 connector->helper_private; in amdgpu_connector_get_monitor_bpc()
138 struct drm_encoder *encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_get_monitor_bpc()
150 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_get_monitor_bpc()
159 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
164 if (connector->display_info.max_tmds_clock > 0) { in amdgpu_connector_get_monitor_bpc()
169 max_tmds_clock = connector->display_info.max_tmds_clock; in amdgpu_connector_get_monitor_bpc()
172 connector->name, mode_clock, max_tmds_clock); in amdgpu_connector_get_monitor_bpc()
176 if ((connector->display_info.edid_hdmi_dc_modes & DRM_EDID_HDMI_DC_30) && in amdgpu_connector_get_monitor_bpc()
183 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
189 connector->name, bpc); in amdgpu_connector_get_monitor_bpc()
194 connector->name); in amdgpu_connector_get_monitor_bpc()
201 connector->name); in amdgpu_connector_get_monitor_bpc()
206 connector->name, connector->display_info.bpc, bpc); in amdgpu_connector_get_monitor_bpc()
212 amdgpu_connector_update_scratch_regs(struct drm_connector *connector, in amdgpu_connector_update_scratch_regs() argument
217 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_update_scratch_regs()
221 best_encoder = connector_funcs->best_encoder(connector); in amdgpu_connector_update_scratch_regs()
223 drm_connector_for_each_possible_encoder(connector, encoder, i) { in amdgpu_connector_update_scratch_regs()
229 amdgpu_atombios_encoder_set_bios_scratch_regs(connector, encoder, connected); in amdgpu_connector_update_scratch_regs()
234 amdgpu_connector_find_encoder(struct drm_connector *connector, in amdgpu_connector_find_encoder() argument
240 drm_connector_for_each_possible_encoder(connector, encoder, i) { 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
352 drm_connector_for_each_possible_encoder(connector, encoder, i) in amdgpu_connector_best_single_encoder()
358 static void amdgpu_get_native_mode(struct drm_connector *connector) in amdgpu_get_native_mode() argument
360 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_get_native_mode()
368 if (!list_empty(&connector->probed_modes)) { in amdgpu_get_native_mode()
370 list_first_entry(&connector->probed_modes, in amdgpu_get_native_mode()
412 struct drm_connector *connector) in amdgpu_connector_add_common_modes() argument
459 drm_mode_probed_add(connector, mode); in amdgpu_connector_add_common_modes()
463 static int amdgpu_connector_set_property(struct drm_connector *connector, in amdgpu_connector_set_property() argument
467 struct drm_device *dev = connector->dev; in amdgpu_connector_set_property()
477 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
495 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
497 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
510 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_set_property()
512 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
526 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
540 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
554 encoder = amdgpu_connector_find_encoder(connector, DRM_MODE_ENCODER_TMDS); in amdgpu_connector_set_property()
568 to_amdgpu_connector(connector); in amdgpu_connector_set_property()
579 if (connector->encoder) { in amdgpu_connector_set_property()
580 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_property()
582 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_property()
583 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_property()
610 struct drm_connector *connector) in amdgpu_connector_fixup_lcd_native_mode() argument
617 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
627 list_for_each_entry_safe(mode, t, &connector->probed_modes, head) { in amdgpu_connector_fixup_lcd_native_mode()
644 static int amdgpu_connector_lvds_get_modes(struct drm_connector *connector) in amdgpu_connector_lvds_get_modes() argument
650 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_get_modes()
651 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_lvds_get_modes()
653 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
655 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_lvds_get_modes()
657 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
662 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_get_modes()
670 drm_mode_probed_add(connector, mode); in amdgpu_connector_lvds_get_modes()
672 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_lvds_get_modes()
673 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_lvds_get_modes()
675 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_lvds_get_modes()
681 static enum drm_mode_status amdgpu_connector_lvds_mode_valid(struct drm_connector *connector, in amdgpu_connector_lvds_mode_valid() argument
684 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_mode_valid()
712 amdgpu_connector_lvds_detect(struct drm_connector *connector, bool force) in amdgpu_connector_lvds_detect() argument
714 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_lvds_detect()
715 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_lvds_detect()
720 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_lvds_detect()
736 amdgpu_connector_get_edid(connector); in amdgpu_connector_lvds_detect()
741 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_lvds_detect()
744 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_lvds_detect()
745 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_lvds_detect()
751 static void amdgpu_connector_unregister(struct drm_connector *connector) in amdgpu_connector_unregister() argument
753 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_unregister()
761 static void amdgpu_connector_destroy(struct drm_connector *connector) in amdgpu_connector_destroy() argument
763 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_destroy()
765 amdgpu_connector_free_edid(connector); in amdgpu_connector_destroy()
767 drm_connector_unregister(connector); in amdgpu_connector_destroy()
768 drm_connector_cleanup(connector); in amdgpu_connector_destroy()
769 kfree(connector); in amdgpu_connector_destroy()
772 static int amdgpu_connector_set_lcd_property(struct drm_connector *connector, in amdgpu_connector_set_lcd_property() argument
776 struct drm_device *dev = connector->dev; in amdgpu_connector_set_lcd_property()
784 if (connector->encoder) in amdgpu_connector_set_lcd_property()
785 amdgpu_encoder = to_amdgpu_encoder(connector->encoder); in amdgpu_connector_set_lcd_property()
787 const struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; in amdgpu_connector_set_lcd_property()
788 amdgpu_encoder = to_amdgpu_encoder(connector_funcs->best_encoder(connector)); in amdgpu_connector_set_lcd_property()
823 static int amdgpu_connector_vga_get_modes(struct drm_connector *connector) in amdgpu_connector_vga_get_modes() argument
827 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_get_modes()
828 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_vga_get_modes()
833 static enum drm_mode_status amdgpu_connector_vga_mode_valid(struct drm_connector *connector, in amdgpu_connector_vga_mode_valid() argument
836 struct drm_device *dev = connector->dev; in amdgpu_connector_vga_mode_valid()
848 amdgpu_connector_vga_detect(struct drm_connector *connector, bool force) in amdgpu_connector_vga_detect() argument
850 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_vga_detect()
858 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_vga_detect()
863 encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_vga_detect()
871 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
872 amdgpu_connector_get_edid(connector); in amdgpu_connector_vga_detect()
876 connector->name); in amdgpu_connector_vga_detect()
886 amdgpu_connector_free_edid(connector); in amdgpu_connector_vga_detect()
900 ret = connector->status; in amdgpu_connector_vga_detect()
906 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_vga_detect()
912 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_vga_detect()
916 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_vga_detect()
917 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_vga_detect()
939 amdgpu_connector_check_hpd_status_unchanged(struct drm_connector *connector) in amdgpu_connector_check_hpd_status_unchanged() argument
941 struct drm_device *dev = connector->dev; in amdgpu_connector_check_hpd_status_unchanged()
943 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_check_hpd_status_unchanged()
951 if (connector->status == status) in amdgpu_connector_check_hpd_status_unchanged()
970 amdgpu_connector_dvi_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dvi_detect() argument
972 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_detect()
974 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_detect()
981 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dvi_detect()
986 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dvi_detect()
987 ret = connector->status; in amdgpu_connector_dvi_detect()
995 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
996 amdgpu_connector_get_edid(connector); in amdgpu_connector_dvi_detect()
1000 connector->name); in amdgpu_connector_dvi_detect()
1011 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1026 if (connector == list_connector) in amdgpu_connector_dvi_detect()
1036 amdgpu_connector_free_edid(connector); in amdgpu_connector_dvi_detect()
1050 if ((connector->connector_type == DRM_MODE_CONNECTOR_DVID) || in amdgpu_connector_dvi_detect()
1051 (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)) in amdgpu_connector_dvi_detect()
1060 ret = connector->status; in amdgpu_connector_dvi_detect()
1069 drm_connector_for_each_possible_encoder(connector, encoder, i) { in amdgpu_connector_dvi_detect()
1079 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1090 lret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dvi_detect()
1102 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dvi_detect()
1106 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dvi_detect()
1107 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dvi_detect()
1115 amdgpu_connector_dvi_encoder(struct drm_connector *connector) in amdgpu_connector_dvi_encoder() argument
1117 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_encoder()
1121 drm_connector_for_each_possible_encoder(connector, encoder, i) { in amdgpu_connector_dvi_encoder()
1136 drm_connector_for_each_possible_encoder(connector, encoder, i) in amdgpu_connector_dvi_encoder()
1142 static void amdgpu_connector_dvi_force(struct drm_connector *connector) in amdgpu_connector_dvi_force() argument
1144 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_force()
1145 if (connector->force == DRM_FORCE_ON) in amdgpu_connector_dvi_force()
1147 if (connector->force == DRM_FORCE_ON_DIGITAL) in amdgpu_connector_dvi_force()
1151 static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector, in amdgpu_connector_dvi_mode_valid() argument
1154 struct drm_device *dev = connector->dev; in amdgpu_connector_dvi_mode_valid()
1156 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dvi_mode_valid()
1165 } else if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_dvi_mode_valid()
1199 static int amdgpu_connector_dp_get_modes(struct drm_connector *connector) in amdgpu_connector_dp_get_modes() argument
1201 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_get_modes()
1203 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_get_modes()
1206 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_get_modes()
1207 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_get_modes()
1210 if (connector->connector_type == DRM_MODE_CONNECTOR_eDP) { in amdgpu_connector_dp_get_modes()
1212 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1214 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1215 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1217 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_get_modes()
1221 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1226 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1227 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1232 amdgpu_connector_fixup_lcd_native_mode(encoder, connector); in amdgpu_connector_dp_get_modes()
1234 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1246 drm_mode_probed_add(connector, mode); in amdgpu_connector_dp_get_modes()
1248 connector->display_info.width_mm = mode->width_mm; in amdgpu_connector_dp_get_modes()
1249 connector->display_info.height_mm = mode->height_mm; in amdgpu_connector_dp_get_modes()
1251 amdgpu_connector_add_common_modes(encoder, connector); in amdgpu_connector_dp_get_modes()
1255 if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_get_modes()
1260 amdgpu_connector_get_edid(connector); in amdgpu_connector_dp_get_modes()
1261 ret = amdgpu_connector_ddc_get_modes(connector); in amdgpu_connector_dp_get_modes()
1263 amdgpu_get_native_mode(connector); in amdgpu_connector_dp_get_modes()
1269 u16 amdgpu_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) in amdgpu_connector_encoder_get_dp_bridge_encoder_id() argument
1275 drm_connector_for_each_possible_encoder(connector, encoder, i) { in amdgpu_connector_encoder_get_dp_bridge_encoder_id()
1290 static bool amdgpu_connector_encoder_is_hbr2(struct drm_connector *connector) in amdgpu_connector_encoder_is_hbr2() argument
1297 drm_connector_for_each_possible_encoder(connector, encoder, i) { in amdgpu_connector_encoder_is_hbr2()
1306 bool amdgpu_connector_is_dp12_capable(struct drm_connector *connector) in amdgpu_connector_is_dp12_capable() argument
1308 struct drm_device *dev = connector->dev; in amdgpu_connector_is_dp12_capable()
1312 amdgpu_connector_encoder_is_hbr2(connector)) { in amdgpu_connector_is_dp12_capable()
1320 amdgpu_connector_dp_detect(struct drm_connector *connector, bool force) in amdgpu_connector_dp_detect() argument
1322 struct drm_device *dev = connector->dev; in amdgpu_connector_dp_detect()
1324 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_detect()
1327 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_detect()
1331 r = pm_runtime_get_sync(connector->dev->dev); in amdgpu_connector_dp_detect()
1336 if (!force && amdgpu_connector_check_hpd_status_unchanged(connector)) { in amdgpu_connector_dp_detect()
1337 ret = connector->status; in amdgpu_connector_dp_detect()
1341 amdgpu_connector_free_edid(connector); in amdgpu_connector_dp_detect()
1343 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_detect()
1344 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_detect()
1356 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1361 amdgpu_atombios_encoder_set_edp_panel_power(connector, in amdgpu_connector_dp_detect()
1363 } else if (amdgpu_connector_encoder_get_dp_bridge_encoder_id(connector) != in amdgpu_connector_dp_detect()
1379 ret = encoder_funcs->detect(encoder, connector); in amdgpu_connector_dp_detect()
1402 amdgpu_connector_update_scratch_regs(connector, ret); in amdgpu_connector_dp_detect()
1405 pm_runtime_mark_last_busy(connector->dev->dev); in amdgpu_connector_dp_detect()
1406 pm_runtime_put_autosuspend(connector->dev->dev); in amdgpu_connector_dp_detect()
1412 static enum drm_mode_status amdgpu_connector_dp_mode_valid(struct drm_connector *connector, in amdgpu_connector_dp_mode_valid() argument
1415 struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_dp_mode_valid()
1420 if ((connector->connector_type == DRM_MODE_CONNECTOR_eDP) || in amdgpu_connector_dp_mode_valid()
1421 (connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) { in amdgpu_connector_dp_mode_valid()
1422 struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector); in amdgpu_connector_dp_mode_valid()
1449 return amdgpu_atombios_dp_mode_valid_helper(connector, mode); in amdgpu_connector_dp_mode_valid()
1451 if (drm_detect_hdmi_monitor(amdgpu_connector_edid(connector))) { in amdgpu_connector_dp_mode_valid()
1502 struct drm_connector *connector; in amdgpu_connector_add() local
1516 list_for_each_entry(connector, &dev->mode_config.connector_list, head) { in amdgpu_connector_add()
1517 amdgpu_connector = to_amdgpu_connector(connector); in amdgpu_connector_add()
1554 connector = &amdgpu_connector->base; in amdgpu_connector_add()
1589 connector->interlace_allowed = true; in amdgpu_connector_add()
1590 connector->doublescan_allowed = true; in amdgpu_connector_add()
1632 connector->interlace_allowed = true; in amdgpu_connector_add()
1634 connector->doublescan_allowed = true; in amdgpu_connector_add()
1636 connector->doublescan_allowed = false; in amdgpu_connector_add()
1654 connector->interlace_allowed = false; in amdgpu_connector_add()
1655 connector->doublescan_allowed = false; in amdgpu_connector_add()
1677 connector->interlace_allowed = true; in amdgpu_connector_add()
1678 connector->doublescan_allowed = true; in amdgpu_connector_add()
1697 connector->interlace_allowed = true; in amdgpu_connector_add()
1698 connector->doublescan_allowed = true; in amdgpu_connector_add()
1744 connector->interlace_allowed = true; in amdgpu_connector_add()
1746 connector->doublescan_allowed = true; in amdgpu_connector_add()
1748 connector->doublescan_allowed = false; in amdgpu_connector_add()
1787 connector->interlace_allowed = true; in amdgpu_connector_add()
1789 connector->doublescan_allowed = true; in amdgpu_connector_add()
1791 connector->doublescan_allowed = false; in amdgpu_connector_add()
1831 connector->interlace_allowed = true; in amdgpu_connector_add()
1833 connector->doublescan_allowed = false; in amdgpu_connector_add()
1853 connector->interlace_allowed = false; in amdgpu_connector_add()
1854 connector->doublescan_allowed = false; in amdgpu_connector_add()
1872 connector->interlace_allowed = false; in amdgpu_connector_add()
1873 connector->doublescan_allowed = false; in amdgpu_connector_add()
1880 connector->polled = DRM_CONNECTOR_POLL_CONNECT | in amdgpu_connector_add()
1884 connector->polled = DRM_CONNECTOR_POLL_HPD; in amdgpu_connector_add()
1886 connector->display_info.subpixel_order = subpixel_order; in amdgpu_connector_add()
1887 drm_connector_register(connector); in amdgpu_connector_add()
1895 drm_connector_cleanup(connector); in amdgpu_connector_add()
1896 kfree(connector); in amdgpu_connector_add()