Commit 6fce5bce authored by Eric Yang's avatar Eric Yang Committed by Alex Deucher

drm/amd/display: move edp sink present detection to hw init

[Why]
At SW init, we may not be ready to do detect eDP sink.
Signed-off-by: default avatarEric Yang <Eric.Yang2@amd.com>
Reviewed-by: default avatarJun Lei <Jun.Lei@amd.com>
Acked-by: default avatarAnson Jacob <Anson.Jacob@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b14e4f20
......@@ -205,27 +205,9 @@ static bool create_links(
link = link_create(&link_init_params);
if (link) {
bool should_destory_link = false;
if (link->connector_signal == SIGNAL_TYPE_EDP) {
if (dc->config.edp_not_connected) {
if (!IS_DIAG_DC(dc->ctx->dce_environment))
should_destory_link = true;
} else {
enum dc_connection_type type;
dc_link_detect_sink(link, &type);
if (type == dc_connection_none)
should_destory_link = true;
}
}
if (dc->config.force_enum_edp || !should_destory_link) {
dc->links[dc->link_count] = link;
link->dc = dc;
++dc->link_count;
} else {
link_destroy(&link);
}
}
}
......@@ -1016,8 +998,30 @@ struct dc *dc_create(const struct dc_init_data *init_params)
return NULL;
}
static void detect_edp_presence(struct dc *dc)
{
struct dc_link *edp_link = get_edp_link(dc);
bool edp_sink_present = true;
if (!edp_link)
return;
if (dc->config.edp_not_connected) {
edp_sink_present = false;
} else {
enum dc_connection_type type;
dc_link_detect_sink(edp_link, &type);
if (type == dc_connection_none)
edp_sink_present = false;
}
edp_link->edp_sink_present = edp_sink_present;
}
void dc_hardware_init(struct dc *dc)
{
detect_edp_presence(dc);
if (dc->ctx->dce_environment != DCE_ENV_VIRTUAL_HW)
dc->hwss.init_hw(dc);
}
......
......@@ -103,6 +103,8 @@ struct dc_link {
bool lttpr_non_transparent_mode;
bool is_internal_display;
bool edp_sink_present;
/* caps is the same as reported_link_cap. link_traing use
* reported_link_cap. Will clean up. TODO
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment