Lines Matching full:connector
74 const struct intel_connector *connector, in intel_dp_mst_bw_overhead() argument
90 dsc_slice_count = intel_dp_dsc_get_slice_count(connector, in intel_dp_mst_bw_overhead()
110 const struct intel_connector *connector, in intel_dp_mst_compute_m_n() argument
153 struct intel_connector *connector = in intel_dp_mst_find_vcpi_slots_for_bpp() local
154 to_intel_connector(conn_state->connector); in intel_dp_mst_find_vcpi_slots_for_bpp()
155 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_dp_mst_find_vcpi_slots_for_bpp()
169 if (!intel_dp_supports_fec(intel_dp, connector, crtc_state)) in intel_dp_mst_find_vcpi_slots_for_bpp()
197 local_bw_overhead = intel_dp_mst_bw_overhead(crtc_state, connector, in intel_dp_mst_find_vcpi_slots_for_bpp()
199 remote_bw_overhead = intel_dp_mst_bw_overhead(crtc_state, connector, in intel_dp_mst_find_vcpi_slots_for_bpp()
202 intel_dp_mst_compute_m_n(crtc_state, connector, in intel_dp_mst_find_vcpi_slots_for_bpp()
231 connector->port, in intel_dp_mst_find_vcpi_slots_for_bpp()
289 struct intel_connector *connector = in intel_dp_dsc_mst_compute_link_config() local
290 to_intel_connector(conn_state->connector); in intel_dp_dsc_mst_compute_link_config()
291 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_dp_dsc_mst_compute_link_config()
308 num_bpc = drm_dp_dsc_sink_supported_input_bpcs(connector->dp.dsc_dpcd, in intel_dp_dsc_mst_compute_link_config()
333 max_compressed_bpp = intel_dp_dsc_sink_max_compressed_bpp(connector, in intel_dp_dsc_mst_compute_link_config()
404 hblank_expansion_quirk_needs_dsc(const struct intel_connector *connector, in hblank_expansion_quirk_needs_dsc() argument
410 if (!connector->dp.dsc_hblank_expansion_quirk) in hblank_expansion_quirk_needs_dsc()
420 adjust_limits_for_dsc_hblank_expansion_quirk(const struct intel_connector *connector, in adjust_limits_for_dsc_hblank_expansion_quirk() argument
425 struct drm_i915_private *i915 = to_i915(connector->base.dev); in adjust_limits_for_dsc_hblank_expansion_quirk()
429 if (!hblank_expansion_quirk_needs_dsc(connector, crtc_state)) in adjust_limits_for_dsc_hblank_expansion_quirk()
435 "[CRTC:%d:%s][CONNECTOR:%d:%s] DSC needed by hblank expansion quirk\n", in adjust_limits_for_dsc_hblank_expansion_quirk()
437 connector->base.base.id, connector->base.name); in adjust_limits_for_dsc_hblank_expansion_quirk()
442 … "[CRTC:%d:%s][CONNECTOR:%d:%s] Increasing link min bpp to 24 due to hblank expansion quirk\n", in adjust_limits_for_dsc_hblank_expansion_quirk()
444 connector->base.base.id, connector->base.name); in adjust_limits_for_dsc_hblank_expansion_quirk()
465 …"[CRTC:%d:%s][CONNECTOR:%d:%s] Increasing link min bpp to " BPP_X16_FMT " in DSC mode due to hblan… in adjust_limits_for_dsc_hblank_expansion_quirk()
467 connector->base.base.id, connector->base.name, in adjust_limits_for_dsc_hblank_expansion_quirk()
480 const struct intel_connector *connector, in intel_dp_mst_compute_config_limits() argument
514 return adjust_limits_for_dsc_hblank_expansion_quirk(connector, in intel_dp_mst_compute_config_limits()
527 const struct intel_connector *connector = in intel_dp_mst_compute_config() local
528 to_intel_connector(conn_state->connector); in intel_dp_mst_compute_config()
536 !intel_dp_supports_fec(intel_dp, connector, pipe_config)) in intel_dp_mst_compute_config()
548 connector, in intel_dp_mst_compute_config()
574 connector, in intel_dp_mst_compute_config()
634 struct intel_connector *connector; in intel_dp_mst_transcoder_mask() local
641 for_each_new_intel_connector_in_state(state, connector, conn_state, i) { in intel_dp_mst_transcoder_mask()
645 if (connector->mst_port != mst_port || !conn_state->base.crtc) in intel_dp_mst_transcoder_mask()
665 struct intel_connector *connector; in get_pipes_downstream_of_mst_port() local
669 for_each_new_intel_connector_in_state(state, connector, conn_state, i) { in get_pipes_downstream_of_mst_port()
673 if (&connector->mst_port->mst_mgr != mst_mgr) in get_pipes_downstream_of_mst_port()
676 if (connector->port != parent_port && in get_pipes_downstream_of_mst_port()
678 connector->port, in get_pipes_downstream_of_mst_port()
704 /* Atomic connector check should've added all the MST CRTCs. */ in intel_dp_mst_check_fec_change()
813 intel_dp_mst_atomic_topology_check(struct intel_connector *connector, in intel_dp_mst_atomic_topology_check() argument
821 if (!intel_connector_needs_modeset(state, &connector->base)) in intel_dp_mst_atomic_topology_check()
830 if (connector_iter->mst_port != connector->mst_port || in intel_dp_mst_atomic_topology_check()
831 connector_iter == connector) in intel_dp_mst_atomic_topology_check()
862 intel_dp_mst_atomic_check(struct drm_connector *connector, in intel_dp_mst_atomic_check() argument
867 to_intel_connector(connector); in intel_dp_mst_atomic_check()
870 ret = intel_digital_connector_atomic_check(connector, &state->base); in intel_dp_mst_atomic_check()
914 struct intel_connector *connector = in intel_mst_disable_dp() local
915 to_intel_connector(old_conn_state->connector); in intel_mst_disable_dp()
916 struct drm_i915_private *i915 = to_i915(connector->base.dev); in intel_mst_disable_dp()
921 intel_hdcp_disable(intel_mst->connector); in intel_mst_disable_dp()
923 intel_dp_sink_disable_decompression(state, connector, old_crtc_state); in intel_mst_disable_dp()
934 struct intel_connector *connector = in intel_mst_post_disable_dp() local
935 to_intel_connector(old_conn_state->connector); in intel_mst_post_disable_dp()
941 drm_atomic_get_mst_payload_state(old_mst_state, connector->port); in intel_mst_post_disable_dp()
943 drm_atomic_get_mst_payload_state(new_mst_state, connector->port); in intel_mst_post_disable_dp()
944 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); in intel_mst_post_disable_dp()
982 drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, in intel_mst_post_disable_dp()
1002 intel_mst->connector = NULL; in intel_mst_post_disable_dp()
1055 struct intel_connector *connector = in intel_mst_pre_enable_dp() local
1056 to_intel_connector(conn_state->connector); in intel_mst_pre_enable_dp()
1062 /* MST encoders are bound to a crtc, not to a connector, in intel_mst_pre_enable_dp()
1065 connector->encoder = encoder; in intel_mst_pre_enable_dp()
1066 intel_mst->connector = connector; in intel_mst_pre_enable_dp()
1078 drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); in intel_mst_pre_enable_dp()
1080 intel_dp_sink_enable_decompression(state, connector, pipe_config); in intel_mst_pre_enable_dp()
1089 drm_atomic_get_mst_payload_state(mst_state, connector->port)); in intel_mst_pre_enable_dp()
1092 connector->base.name, ret); in intel_mst_pre_enable_dp()
1116 struct intel_connector *connector = to_intel_connector(conn_state->connector); in intel_mst_enable_dp() local
1152 drm_atomic_get_mst_payload_state(mst_state, connector->port)); in intel_mst_enable_dp()
1173 if (intel_mst->connector) in intel_dp_mst_enc_get_hw_state()
1196 static int intel_dp_mst_get_ddc_modes(struct drm_connector *connector) in intel_dp_mst_get_ddc_modes() argument
1198 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_dp_mst_get_ddc_modes()
1203 if (drm_connector_is_unregistered(connector)) in intel_dp_mst_get_ddc_modes()
1204 return intel_connector_update_modes(connector, NULL); in intel_dp_mst_get_ddc_modes()
1206 drm_edid = drm_dp_mst_edid_read(connector, &intel_dp->mst_mgr, intel_connector->port); in intel_dp_mst_get_ddc_modes()
1208 ret = intel_connector_update_modes(connector, drm_edid); in intel_dp_mst_get_ddc_modes()
1216 intel_dp_mst_connector_late_register(struct drm_connector *connector) in intel_dp_mst_connector_late_register() argument
1218 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_dp_mst_connector_late_register()
1221 ret = drm_dp_mst_connector_late_register(connector, in intel_dp_mst_connector_late_register()
1226 ret = intel_connector_register(connector); in intel_dp_mst_connector_late_register()
1228 drm_dp_mst_connector_early_unregister(connector, in intel_dp_mst_connector_late_register()
1235 intel_dp_mst_connector_early_unregister(struct drm_connector *connector) in intel_dp_mst_connector_early_unregister() argument
1237 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_dp_mst_connector_early_unregister()
1239 intel_connector_unregister(connector); in intel_dp_mst_connector_early_unregister()
1240 drm_dp_mst_connector_early_unregister(connector, in intel_dp_mst_connector_early_unregister()
1255 static int intel_dp_mst_get_modes(struct drm_connector *connector) in intel_dp_mst_get_modes() argument
1257 return intel_dp_mst_get_ddc_modes(connector); in intel_dp_mst_get_modes()
1261 intel_dp_mst_mode_valid_ctx(struct drm_connector *connector, in intel_dp_mst_mode_valid_ctx() argument
1266 struct drm_i915_private *dev_priv = to_i915(connector->dev); in intel_dp_mst_mode_valid_ctx()
1267 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_dp_mst_mode_valid_ctx()
1272 int max_dotclk = to_i915(connector->dev)->max_dotclk_freq; in intel_dp_mst_mode_valid_ctx()
1280 if (drm_connector_is_unregistered(connector)) { in intel_dp_mst_mode_valid_ctx()
1344 * TBD pass the connector BPC, in intel_dp_mst_mode_valid_ctx()
1387 static struct drm_encoder *intel_mst_atomic_best_encoder(struct drm_connector *connector, in intel_mst_atomic_best_encoder() argument
1391 connector); in intel_mst_atomic_best_encoder()
1392 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_mst_atomic_best_encoder()
1400 intel_dp_mst_detect(struct drm_connector *connector, in intel_dp_mst_detect() argument
1403 struct drm_i915_private *i915 = to_i915(connector->dev); in intel_dp_mst_detect()
1404 struct intel_connector *intel_connector = to_intel_connector(connector); in intel_dp_mst_detect()
1410 if (drm_connector_is_unregistered(connector)) in intel_dp_mst_detect()
1413 return drm_dp_mst_detect_port(connector, ctx, &intel_dp->mst_mgr, in intel_dp_mst_detect()
1437 static bool intel_dp_mst_get_hw_state(struct intel_connector *connector) in intel_dp_mst_get_hw_state() argument
1439 if (intel_attached_encoder(connector) && connector->base.state->crtc) { in intel_dp_mst_get_hw_state()
1441 if (!intel_attached_encoder(connector)->get_hw_state(intel_attached_encoder(connector), &pipe)) in intel_dp_mst_get_hw_state()
1449 struct drm_connector *connector, in intel_dp_mst_add_properties() argument
1452 struct drm_i915_private *i915 = to_i915(connector->dev); in intel_dp_mst_add_properties()
1454 drm_object_attach_property(&connector->base, in intel_dp_mst_add_properties()
1456 drm_object_attach_property(&connector->base, in intel_dp_mst_add_properties()
1459 intel_attach_force_audio_property(connector); in intel_dp_mst_add_properties()
1460 intel_attach_broadcast_rgb_property(connector); in intel_dp_mst_add_properties()
1463 * Reuse the prop from the SST connector because we're in intel_dp_mst_add_properties()
1466 connector->max_bpc_property = in intel_dp_mst_add_properties()
1468 if (connector->max_bpc_property) in intel_dp_mst_add_properties()
1469 drm_connector_attach_max_bpc_property(connector, 6, 12); in intel_dp_mst_add_properties()
1471 return drm_connector_set_path_property(connector, pathprop); in intel_dp_mst_add_properties()
1476 struct intel_connector *connector) in intel_dp_mst_read_decompression_port_dsc_caps() argument
1480 if (!connector->dp.dsc_decompression_aux) in intel_dp_mst_read_decompression_port_dsc_caps()
1483 if (drm_dp_read_dpcd_caps(connector->dp.dsc_decompression_aux, dpcd_caps) < 0) in intel_dp_mst_read_decompression_port_dsc_caps()
1486 intel_dp_get_dsc_sink_cap(dpcd_caps[DP_DPCD_REV], connector); in intel_dp_mst_read_decompression_port_dsc_caps()
1489 static bool detect_dsc_hblank_expansion_quirk(const struct intel_connector *connector) in detect_dsc_hblank_expansion_quirk() argument
1491 struct drm_i915_private *i915 = to_i915(connector->base.dev); in detect_dsc_hblank_expansion_quirk()
1495 if (!connector->dp.dsc_decompression_aux) in detect_dsc_hblank_expansion_quirk()
1498 if (drm_dp_read_desc(connector->dp.dsc_decompression_aux, in detect_dsc_hblank_expansion_quirk()
1506 if (drm_dp_read_dpcd_caps(connector->dp.dsc_decompression_aux, dpcd) < 0) in detect_dsc_hblank_expansion_quirk()
1513 "[CONNECTOR:%d:%s] DSC HBLANK expansion quirk detected\n", in detect_dsc_hblank_expansion_quirk()
1514 connector->base.base.id, connector->base.name); in detect_dsc_hblank_expansion_quirk()
1528 struct drm_connector *connector; in intel_dp_add_mst_connector() local
1547 connector = &intel_connector->base; in intel_dp_add_mst_connector()
1548 ret = drm_connector_init(dev, connector, &intel_dp_mst_connector_funcs, in intel_dp_add_mst_connector()
1556 drm_connector_helper_add(connector, &intel_dp_mst_connector_helper_funcs); in intel_dp_add_mst_connector()
1567 ret = intel_dp_mst_add_properties(intel_dp, connector, pathprop); in intel_dp_add_mst_connector()
1574 connector->name, connector->base.id); in intel_dp_add_mst_connector()
1576 return connector; in intel_dp_add_mst_connector()
1579 drm_connector_cleanup(connector); in intel_dp_add_mst_connector()
1621 * of possible_crtcs of all the encoders of a given connector in intel_dp_create_fake_mst_encoder()
1622 * to figure out which crtcs can drive said connector. What in intel_dp_create_fake_mst_encoder()
1728 * intel_dp_mst_add_topology_state_for_connector - add MST topology state for a connector
1730 * @connector: connector to add the state for
1731 * @crtc: the CRTC @connector is attached to
1733 * Add the MST topology state for @connector to @state.
1739 struct intel_connector *connector, in intel_dp_mst_add_topology_state_for_connector() argument
1744 if (!connector->mst_port) in intel_dp_mst_add_topology_state_for_connector()
1748 &connector->mst_port->mst_mgr); in intel_dp_mst_add_topology_state_for_connector()
1774 struct intel_connector *connector = to_intel_connector(_connector); in intel_dp_mst_add_topology_state_for_crtc() local
1780 ret = intel_dp_mst_add_topology_state_for_connector(state, connector, crtc); in intel_dp_mst_add_topology_state_for_crtc()
1799 struct intel_connector *connector = in get_connector_in_state_for_crtc() local
1804 return connector; in get_connector_in_state_for_crtc()
1840 const struct intel_connector *connector = in intel_dp_mst_crtc_needs_modeset() local
1846 if (connector->mst_port != crtc_connector->mst_port || in intel_dp_mst_crtc_needs_modeset()
1868 if (connector->dp.dsc_decompression_aux == in intel_dp_mst_crtc_needs_modeset()
1869 &connector->mst_port->aux) in intel_dp_mst_crtc_needs_modeset()