Lines Matching refs:radeon_connector

11 static struct radeon_encoder *radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector);
111 static int radeon_dp_mst_update_stream_attribs(struct radeon_connector *mst_conn, in radeon_dp_mst_update_stream_attribs()
118 struct radeon_connector *radeon_connector; in radeon_dp_mst_update_stream_attribs() local
126 radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_update_stream_attribs()
127 if (!radeon_connector->is_mst_connector) in radeon_dp_mst_update_stream_attribs()
130 if (radeon_connector->mst_port != mst_conn) in radeon_dp_mst_update_stream_attribs()
133 subenc = radeon_connector->mst_encoder; in radeon_dp_mst_update_stream_attribs()
189 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_get_ddc_modes() local
190 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_get_ddc_modes()
194 edid = drm_dp_mst_get_edid(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_get_ddc_modes()
195 radeon_connector->edid = edid; in radeon_dp_mst_get_ddc_modes()
197 if (radeon_connector->edid) { in radeon_dp_mst_get_ddc_modes()
198 drm_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
199 ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
202 drm_connector_update_edid_property(&radeon_connector->base, NULL); in radeon_dp_mst_get_ddc_modes()
229 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_mst_best_encoder() local
231 return &radeon_connector->mst_encoder->base; in radeon_mst_best_encoder()
243 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_detect() local
244 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_detect()
246 return drm_dp_mst_detect_port(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_detect()
252 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_connector_destroy() local
253 struct radeon_encoder *radeon_encoder = radeon_connector->mst_encoder; in radeon_dp_mst_connector_destroy()
258 kfree(radeon_connector); in radeon_dp_mst_connector_destroy()
272 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_add_mst_connector()
274 struct radeon_connector *radeon_connector; in radeon_dp_add_mst_connector() local
277 radeon_connector = kzalloc(sizeof(*radeon_connector), GFP_KERNEL); in radeon_dp_add_mst_connector()
278 if (!radeon_connector) in radeon_dp_add_mst_connector()
281 radeon_connector->is_mst_connector = true; in radeon_dp_add_mst_connector()
282 connector = &radeon_connector->base; in radeon_dp_add_mst_connector()
283 radeon_connector->port = port; in radeon_dp_add_mst_connector()
284 radeon_connector->mst_port = master; in radeon_dp_add_mst_connector()
289 radeon_connector->mst_encoder = radeon_dp_create_fake_mst_encoder(master); in radeon_dp_add_mst_connector()
311 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_destroy_mst_connector()
325 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_mst_hotplug()
339 radeon_connector *radeon_mst_find_connector(struct drm_encoder *encoder) in radeon_mst_find_connector()
345 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_mst_find_connector() local
348 if (!radeon_connector->is_mst_connector) in radeon_mst_find_connector()
353 return radeon_connector; in radeon_mst_find_connector()
365 struct radeon_connector *radeon_connector = radeon_mst_find_connector(&radeon_encoder->base); in radeon_dp_mst_prepare_pll() local
369 if (radeon_connector) { in radeon_dp_mst_prepare_pll()
370 radeon_connector->pixelclock_for_modeset = mode->clock; in radeon_dp_mst_prepare_pll()
371 if (radeon_connector->base.display_info.bpc) in radeon_dp_mst_prepare_pll()
372 radeon_crtc->bpc = radeon_connector->base.display_info.bpc; in radeon_dp_mst_prepare_pll()
393 struct radeon_connector *radeon_connector; in radeon_mst_encoder_dpms() local
403 radeon_connector = radeon_mst_find_connector(encoder); in radeon_mst_encoder_dpms()
404 if (!radeon_connector) in radeon_mst_encoder_dpms()
449 slots = drm_dp_find_vcpi_slots(&radeon_connector->mst_port->mst_mgr, in radeon_mst_encoder_dpms()
451 ret = drm_dp_mst_allocate_vcpi(&radeon_connector->mst_port->mst_mgr, in radeon_mst_encoder_dpms()
452 radeon_connector->port, in radeon_mst_encoder_dpms()
454 ret = drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
457 radeon_connector->mst_port->hpd.hpd, true); in radeon_mst_encoder_dpms()
460 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
463 fixed_pbn_per_slot = drm_int2fixp(radeon_connector->mst_port->mst_mgr.pbn_div); in radeon_mst_encoder_dpms()
469 ret = drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
471 ret = drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
482 drm_dp_mst_reset_vcpi_slots(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
483 ret = drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
485 drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
487 drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
489 drm_dp_mst_deallocate_vcpi(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
492 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
495 radeon_connector->mst_port->hpd.hpd, false); in radeon_mst_encoder_dpms()
543 struct radeon_connector *radeon_connector; in radeon_mst_encoder_prepare() local
548 radeon_connector = radeon_mst_find_connector(encoder); in radeon_mst_encoder_prepare()
549 if (!radeon_connector) { in radeon_mst_encoder_prepare()
563 mst_enc->port = radeon_connector->port; in radeon_mst_encoder_prepare()
608 radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector) in radeon_dp_create_fake_mst_encoder()
657 radeon_dp_mst_init(struct radeon_connector *radeon_connector) in radeon_dp_mst_init() argument
659 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_init()
661 if (!radeon_connector->ddc_bus->has_aux) in radeon_dp_mst_init()
664 radeon_connector->mst_mgr.cbs = &mst_cbs; in radeon_dp_mst_init()
665 return drm_dp_mst_topology_mgr_init(&radeon_connector->mst_mgr, dev, in radeon_dp_mst_init()
666 &radeon_connector->ddc_bus->aux, 16, 6, in radeon_dp_mst_init()
667 radeon_connector->base.base.id); in radeon_dp_mst_init()
671 radeon_dp_mst_probe(struct radeon_connector *radeon_connector) in radeon_dp_mst_probe() argument
673 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_probe()
674 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_probe()
688 ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_MSTM_CAP, msg, in radeon_dp_mst_probe()
700 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_probe()
706 radeon_dp_mst_check_status(struct radeon_connector *radeon_connector) in radeon_dp_mst_check_status() argument
708 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_check_status()
717 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
722 ret = drm_dp_mst_hpd_irq(&radeon_connector->mst_mgr, esi, &handled); in radeon_dp_mst_check_status()
727 wret = drm_dp_dpcd_write(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
733 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
746 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_check_status()
761 struct radeon_connector *radeon_connector; in radeon_debugfs_mst_info() local
770 radeon_connector = to_radeon_connector(connector); in radeon_debugfs_mst_info()
771 dig_connector = radeon_connector->con_priv; in radeon_debugfs_mst_info()
772 if (radeon_connector->is_mst_connector) in radeon_debugfs_mst_info()
776 drm_dp_mst_dump_topology(m, &radeon_connector->mst_mgr); in radeon_debugfs_mst_info()
778 for (i = 0; i < radeon_connector->enabled_attribs; i++) in radeon_debugfs_mst_info()
780 radeon_connector->cur_stream_attribs[i].fe, in radeon_debugfs_mst_info()
781 radeon_connector->cur_stream_attribs[i].slots); in radeon_debugfs_mst_info()