Lines Matching refs:radeon_connector
10 static struct radeon_encoder *radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector);
102 static int radeon_dp_mst_update_stream_attribs(struct radeon_connector *mst_conn, in radeon_dp_mst_update_stream_attribs()
109 struct radeon_connector *radeon_connector; in radeon_dp_mst_update_stream_attribs() local
117 radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_update_stream_attribs()
118 if (!radeon_connector->is_mst_connector) in radeon_dp_mst_update_stream_attribs()
121 if (radeon_connector->mst_port != mst_conn) in radeon_dp_mst_update_stream_attribs()
124 subenc = radeon_connector->mst_encoder; in radeon_dp_mst_update_stream_attribs()
177 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_get_ddc_modes() local
178 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_get_ddc_modes()
182 edid = drm_dp_mst_get_edid(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_get_ddc_modes()
183 radeon_connector->edid = edid; in radeon_dp_mst_get_ddc_modes()
185 if (radeon_connector->edid) { in radeon_dp_mst_get_ddc_modes()
186 drm_mode_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
187 ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
188 drm_edid_to_eld(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
191 drm_mode_connector_update_edid_property(&radeon_connector->base, NULL); in radeon_dp_mst_get_ddc_modes()
217 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_mst_best_encoder() local
219 return &radeon_connector->mst_encoder->base; in radeon_mst_best_encoder()
231 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_detect() local
232 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_detect()
234 return drm_dp_mst_detect_port(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_detect()
240 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_connector_destroy() local
241 struct radeon_encoder *radeon_encoder = radeon_connector->mst_encoder; in radeon_dp_mst_connector_destroy()
246 kfree(radeon_connector); in radeon_dp_mst_connector_destroy()
266 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_add_mst_connector()
268 struct radeon_connector *radeon_connector; in radeon_dp_add_mst_connector() local
271 radeon_connector = kzalloc(sizeof(*radeon_connector), GFP_KERNEL); in radeon_dp_add_mst_connector()
272 if (!radeon_connector) in radeon_dp_add_mst_connector()
275 radeon_connector->is_mst_connector = true; in radeon_dp_add_mst_connector()
276 connector = &radeon_connector->base; in radeon_dp_add_mst_connector()
277 radeon_connector->port = port; in radeon_dp_add_mst_connector()
278 radeon_connector->mst_port = master; in radeon_dp_add_mst_connector()
283 radeon_connector->mst_encoder = radeon_dp_create_fake_mst_encoder(master); in radeon_dp_add_mst_connector()
307 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_destroy_mst_connector()
326 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_mst_hotplug()
339 struct 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 ret = drm_dp_mst_allocate_vcpi(&radeon_connector->mst_port->mst_mgr, in radeon_mst_encoder_dpms()
450 radeon_connector->port, in radeon_mst_encoder_dpms()
452 ret = drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
455 radeon_connector->mst_port->hpd.hpd, true); in radeon_mst_encoder_dpms()
458 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
463 ret = drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
465 ret = drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
476 drm_dp_mst_reset_vcpi_slots(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
477 ret = drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
479 drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
481 drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
483 drm_dp_mst_deallocate_vcpi(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
486 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
489 radeon_connector->mst_port->hpd.hpd, false); in radeon_mst_encoder_dpms()
541 struct radeon_connector *radeon_connector; in radeon_mst_encoder_prepare() local
546 radeon_connector = radeon_mst_find_connector(encoder); in radeon_mst_encoder_prepare()
547 if (!radeon_connector) { in radeon_mst_encoder_prepare()
561 mst_enc->port = radeon_connector->port; in radeon_mst_encoder_prepare()
606 radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector) in radeon_dp_create_fake_mst_encoder()
655 radeon_dp_mst_init(struct radeon_connector *radeon_connector) in radeon_dp_mst_init() argument
657 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_init()
659 if (!radeon_connector->ddc_bus->has_aux) in radeon_dp_mst_init()
662 radeon_connector->mst_mgr.cbs = &mst_cbs; in radeon_dp_mst_init()
663 return drm_dp_mst_topology_mgr_init(&radeon_connector->mst_mgr, dev->dev, in radeon_dp_mst_init()
664 &radeon_connector->ddc_bus->aux, 16, 6, in radeon_dp_mst_init()
665 radeon_connector->base.base.id); in radeon_dp_mst_init()
669 radeon_dp_mst_probe(struct radeon_connector *radeon_connector) in radeon_dp_mst_probe() argument
671 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_probe()
672 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_probe()
686 ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_MSTM_CAP, msg, in radeon_dp_mst_probe()
698 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_probe()
704 radeon_dp_mst_check_status(struct radeon_connector *radeon_connector) in radeon_dp_mst_check_status() argument
706 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_check_status()
715 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
720 ret = drm_dp_mst_hpd_irq(&radeon_connector->mst_mgr, esi, &handled); in radeon_dp_mst_check_status()
725 wret = drm_dp_dpcd_write(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
731 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
744 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_check_status()
759 struct radeon_connector *radeon_connector; in radeon_debugfs_mst_info() local
768 radeon_connector = to_radeon_connector(connector); in radeon_debugfs_mst_info()
769 dig_connector = radeon_connector->con_priv; in radeon_debugfs_mst_info()
770 if (radeon_connector->is_mst_connector) in radeon_debugfs_mst_info()
774 drm_dp_mst_dump_topology(m, &radeon_connector->mst_mgr); in radeon_debugfs_mst_info()
776 for (i = 0; i < radeon_connector->enabled_attribs; i++) in radeon_debugfs_mst_info()
778 radeon_connector->cur_stream_attribs[i].fe, in radeon_debugfs_mst_info()
779 radeon_connector->cur_stream_attribs[i].slots); in radeon_debugfs_mst_info()