Lines Matching refs:radeon_connector
12 static struct radeon_encoder *radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector);
112 static int radeon_dp_mst_update_stream_attribs(struct radeon_connector *mst_conn, in radeon_dp_mst_update_stream_attribs()
119 struct radeon_connector *radeon_connector; in radeon_dp_mst_update_stream_attribs() local
127 radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_update_stream_attribs()
128 if (!radeon_connector->is_mst_connector) in radeon_dp_mst_update_stream_attribs()
131 if (radeon_connector->mst_port != mst_conn) in radeon_dp_mst_update_stream_attribs()
134 subenc = radeon_connector->mst_encoder; in radeon_dp_mst_update_stream_attribs()
190 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_get_ddc_modes() local
191 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_get_ddc_modes()
195 edid = drm_dp_mst_get_edid(connector, &master->mst_mgr, radeon_connector->port); in radeon_dp_mst_get_ddc_modes()
196 radeon_connector->edid = edid; in radeon_dp_mst_get_ddc_modes()
198 if (radeon_connector->edid) { in radeon_dp_mst_get_ddc_modes()
199 drm_connector_update_edid_property(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
200 ret = drm_add_edid_modes(&radeon_connector->base, radeon_connector->edid); in radeon_dp_mst_get_ddc_modes()
203 drm_connector_update_edid_property(&radeon_connector->base, NULL); in radeon_dp_mst_get_ddc_modes()
230 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_mst_best_encoder() local
232 return &radeon_connector->mst_encoder->base; in radeon_mst_best_encoder()
240 struct radeon_connector *radeon_connector = in radeon_dp_mst_detect() local
242 struct radeon_connector *master = radeon_connector->mst_port; in radeon_dp_mst_detect()
248 radeon_connector->port); in radeon_dp_mst_detect()
261 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_dp_mst_connector_destroy() local
262 struct radeon_encoder *radeon_encoder = radeon_connector->mst_encoder; in radeon_dp_mst_connector_destroy()
267 kfree(radeon_connector); in radeon_dp_mst_connector_destroy()
280 struct radeon_connector *master = container_of(mgr, struct radeon_connector, mst_mgr); in radeon_dp_add_mst_connector()
282 struct radeon_connector *radeon_connector; in radeon_dp_add_mst_connector() local
285 radeon_connector = kzalloc(sizeof(*radeon_connector), GFP_KERNEL); in radeon_dp_add_mst_connector()
286 if (!radeon_connector) in radeon_dp_add_mst_connector()
289 radeon_connector->is_mst_connector = true; in radeon_dp_add_mst_connector()
290 connector = &radeon_connector->base; in radeon_dp_add_mst_connector()
291 radeon_connector->port = port; in radeon_dp_add_mst_connector()
292 radeon_connector->mst_port = master; in radeon_dp_add_mst_connector()
297 radeon_connector->mst_encoder = radeon_dp_create_fake_mst_encoder(master); in radeon_dp_add_mst_connector()
311 radeon_connector *radeon_mst_find_connector(struct drm_encoder *encoder) in radeon_mst_find_connector()
317 struct radeon_connector *radeon_connector = to_radeon_connector(connector); in radeon_mst_find_connector() local
320 if (!radeon_connector->is_mst_connector) in radeon_mst_find_connector()
325 return radeon_connector; in radeon_mst_find_connector()
337 struct radeon_connector *radeon_connector = radeon_mst_find_connector(&radeon_encoder->base); in radeon_dp_mst_prepare_pll() local
341 if (radeon_connector) { in radeon_dp_mst_prepare_pll()
342 radeon_connector->pixelclock_for_modeset = mode->clock; in radeon_dp_mst_prepare_pll()
343 if (radeon_connector->base.display_info.bpc) in radeon_dp_mst_prepare_pll()
344 radeon_crtc->bpc = radeon_connector->base.display_info.bpc; in radeon_dp_mst_prepare_pll()
365 struct radeon_connector *radeon_connector; in radeon_mst_encoder_dpms() local
375 radeon_connector = radeon_mst_find_connector(encoder); in radeon_mst_encoder_dpms()
376 if (!radeon_connector) in radeon_mst_encoder_dpms()
421 slots = drm_dp_find_vcpi_slots(&radeon_connector->mst_port->mst_mgr, in radeon_mst_encoder_dpms()
423 drm_dp_mst_allocate_vcpi(&radeon_connector->mst_port->mst_mgr, in radeon_mst_encoder_dpms()
424 radeon_connector->port, in radeon_mst_encoder_dpms()
426 drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr, 1); in radeon_mst_encoder_dpms()
429 radeon_connector->mst_port->hpd.hpd, true); in radeon_mst_encoder_dpms()
432 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
435 fixed_pbn_per_slot = drm_int2fixp(radeon_connector->mst_port->mst_mgr.pbn_div); in radeon_mst_encoder_dpms()
441 drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
443 drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
454 drm_dp_mst_reset_vcpi_slots(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
455 drm_dp_update_payload_part1(&radeon_connector->mst_port->mst_mgr, 1); in radeon_mst_encoder_dpms()
457 drm_dp_check_act_status(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
459 drm_dp_update_payload_part2(&radeon_connector->mst_port->mst_mgr); in radeon_mst_encoder_dpms()
461 drm_dp_mst_deallocate_vcpi(&radeon_connector->mst_port->mst_mgr, mst_enc->port); in radeon_mst_encoder_dpms()
464 radeon_dp_mst_update_stream_attribs(radeon_connector->mst_port, primary); in radeon_mst_encoder_dpms()
467 radeon_connector->mst_port->hpd.hpd, false); in radeon_mst_encoder_dpms()
515 struct radeon_connector *radeon_connector; in radeon_mst_encoder_prepare() local
520 radeon_connector = radeon_mst_find_connector(encoder); in radeon_mst_encoder_prepare()
521 if (!radeon_connector) { in radeon_mst_encoder_prepare()
535 mst_enc->port = radeon_connector->port; in radeon_mst_encoder_prepare()
580 radeon_dp_create_fake_mst_encoder(struct radeon_connector *connector) in radeon_dp_create_fake_mst_encoder()
629 radeon_dp_mst_init(struct radeon_connector *radeon_connector) in radeon_dp_mst_init() argument
631 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_init()
634 if (!radeon_connector->ddc_bus->has_aux) in radeon_dp_mst_init()
637 if (radeon_connector_is_dp12_capable(&radeon_connector->base)) in radeon_dp_mst_init()
642 radeon_connector->mst_mgr.cbs = &mst_cbs; in radeon_dp_mst_init()
643 return drm_dp_mst_topology_mgr_init(&radeon_connector->mst_mgr, dev, in radeon_dp_mst_init()
644 &radeon_connector->ddc_bus->aux, 16, 6, in radeon_dp_mst_init()
646 radeon_connector->base.base.id); in radeon_dp_mst_init()
650 radeon_dp_mst_probe(struct radeon_connector *radeon_connector) in radeon_dp_mst_probe() argument
652 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_probe()
653 struct drm_device *dev = radeon_connector->base.dev; in radeon_dp_mst_probe()
667 ret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, DP_MSTM_CAP, msg, in radeon_dp_mst_probe()
679 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_probe()
685 radeon_dp_mst_check_status(struct radeon_connector *radeon_connector) in radeon_dp_mst_check_status() argument
687 struct radeon_connector_atom_dig *dig_connector = radeon_connector->con_priv; in radeon_dp_mst_check_status()
696 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
701 ret = drm_dp_mst_hpd_irq(&radeon_connector->mst_mgr, esi, &handled); in radeon_dp_mst_check_status()
706 wret = drm_dp_dpcd_write(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
712 dret = drm_dp_dpcd_read(&radeon_connector->ddc_bus->aux, in radeon_dp_mst_check_status()
725 drm_dp_mst_topology_mgr_set_mst(&radeon_connector->mst_mgr, in radeon_dp_mst_check_status()
740 struct radeon_connector *radeon_connector; in radeon_debugfs_mst_info_show() local
749 radeon_connector = to_radeon_connector(connector); in radeon_debugfs_mst_info_show()
750 dig_connector = radeon_connector->con_priv; in radeon_debugfs_mst_info_show()
751 if (radeon_connector->is_mst_connector) in radeon_debugfs_mst_info_show()
755 drm_dp_mst_dump_topology(m, &radeon_connector->mst_mgr); in radeon_debugfs_mst_info_show()
757 for (i = 0; i < radeon_connector->enabled_attribs; i++) in radeon_debugfs_mst_info_show()
759 radeon_connector->cur_stream_attribs[i].fe, in radeon_debugfs_mst_info_show()
760 radeon_connector->cur_stream_attribs[i].slots); in radeon_debugfs_mst_info_show()