Lines Matching refs:intel_dp
40 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_dp_mst_compute_config() local
48 bool reduce_m_n = drm_dp_has_quirk(&intel_dp->desc, in intel_dp_mst_compute_config()
56 if (intel_dp->compliance.test_data.bpc) { in intel_dp_mst_compute_config()
57 bpp = intel_dp->compliance.test_data.bpc * 3; in intel_dp_mst_compute_config()
65 lane_count = intel_dp_max_lane_count(intel_dp); in intel_dp_mst_compute_config()
71 pipe_config->port_clock = intel_dp_max_link_rate(intel_dp); in intel_dp_mst_compute_config()
73 if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port)) in intel_dp_mst_compute_config()
79 slots = drm_dp_atomic_find_vcpi_slots(state, &intel_dp->mst_mgr, in intel_dp_mst_compute_config()
141 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_mst_disable_dp() local
146 DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); in intel_mst_disable_dp()
148 drm_dp_mst_reset_vcpi_slots(&intel_dp->mst_mgr, connector->port); in intel_mst_disable_dp()
150 ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr); in intel_mst_disable_dp()
165 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_mst_post_disable_dp() local
172 drm_dp_check_act_status(&intel_dp->mst_mgr); in intel_mst_post_disable_dp()
174 drm_dp_update_payload_part2(&intel_dp->mst_mgr); in intel_mst_post_disable_dp()
176 drm_dp_mst_deallocate_vcpi(&intel_dp->mst_mgr, connector->port); in intel_mst_post_disable_dp()
182 drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, in intel_mst_post_disable_dp()
185 intel_dp->active_mst_links--; in intel_mst_post_disable_dp()
188 if (intel_dp->active_mst_links == 0) { in intel_mst_post_disable_dp()
189 intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); in intel_mst_post_disable_dp()
194 DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); in intel_mst_post_disable_dp()
203 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_mst_pre_pll_enable_dp() local
205 if (intel_dp->active_mst_links == 0 && in intel_mst_pre_pll_enable_dp()
217 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_mst_pre_enable_dp() local
231 DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); in intel_mst_pre_enable_dp()
233 if (intel_dp->active_mst_links == 0) in intel_mst_pre_enable_dp()
234 intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); in intel_mst_pre_enable_dp()
236 drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); in intel_mst_pre_enable_dp()
238 if (intel_dp->active_mst_links == 0) in intel_mst_pre_enable_dp()
242 ret = drm_dp_mst_allocate_vcpi(&intel_dp->mst_mgr, in intel_mst_pre_enable_dp()
252 intel_dp->active_mst_links++; in intel_mst_pre_enable_dp()
256 ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr); in intel_mst_pre_enable_dp()
267 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_mst_enable_dp() local
272 DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); in intel_mst_enable_dp()
281 ret = drm_dp_check_act_status(&intel_dp->mst_mgr); in intel_mst_enable_dp()
283 ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr); in intel_mst_enable_dp()
310 struct intel_dp *intel_dp = intel_connector->mst_port; in intel_dp_mst_get_ddc_modes() local
314 if (!intel_dp) { in intel_dp_mst_get_ddc_modes()
318 edid = drm_dp_mst_get_edid(connector, &intel_dp->mst_mgr, intel_connector->port); in intel_dp_mst_get_ddc_modes()
329 struct intel_dp *intel_dp = intel_connector->mst_port; in intel_dp_mst_detect() local
331 if (!intel_dp) in intel_dp_mst_detect()
333 return drm_dp_mst_detect_port(connector, &intel_dp->mst_mgr, intel_connector->port); in intel_dp_mst_detect()
368 struct intel_dp *intel_dp = intel_connector->mst_port; in intel_dp_mst_mode_valid() local
373 if (!intel_dp) in intel_dp_mst_mode_valid()
379 max_link_clock = intel_dp_max_link_rate(intel_dp); in intel_dp_mst_mode_valid()
380 max_lanes = intel_dp_max_lane_count(intel_dp); in intel_dp_mst_mode_valid()
402 struct intel_dp *intel_dp = intel_connector->mst_port; in intel_mst_atomic_best_encoder() local
405 if (!intel_dp) in intel_mst_atomic_best_encoder()
407 return &intel_dp->mst_encoders[crtc->pipe]->base.base; in intel_mst_atomic_best_encoder()
442 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); in intel_dp_add_mst_connector() local
443 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_dp_add_mst_connector()
466 intel_connector->mst_port = intel_dp; in intel_dp_add_mst_connector()
471 &intel_dp->mst_encoders[pipe]->base.base; in intel_dp_add_mst_connector()
525 struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst_mgr); in intel_dp_mst_hotplug() local
526 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_dp_mst_hotplug()
580 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_dp_create_fake_mst_encoders() local
585 intel_dp->mst_encoders[pipe] = intel_dp_create_fake_mst_encoder(intel_dig_port, pipe); in intel_dp_create_fake_mst_encoders()
592 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_dp_mst_encoder_init() local
596 intel_dp->can_mst = true; in intel_dp_mst_encoder_init()
597 intel_dp->mst_mgr.cbs = &mst_cbs; in intel_dp_mst_encoder_init()
601 ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, dev, in intel_dp_mst_encoder_init()
602 &intel_dp->aux, 16, 3, conn_base_id); in intel_dp_mst_encoder_init()
604 intel_dp->can_mst = false; in intel_dp_mst_encoder_init()
613 struct intel_dp *intel_dp = &intel_dig_port->dp; in intel_dp_mst_encoder_cleanup() local
615 if (!intel_dp->can_mst) in intel_dp_mst_encoder_cleanup()
618 drm_dp_mst_topology_mgr_destroy(&intel_dp->mst_mgr); in intel_dp_mst_encoder_cleanup()