[PATCH] Revert "drm/amd/display: move edp sink present detection to hw init"
Deucher, Alexander
Alexander.Deucher at amd.com
Mon Feb 8 19:58:54 UTC 2021
[AMD Official Use Only - Internal Distribution Only]
Patch is missing your signed-off-by. Please also give some details as to the regression (blank screen, segfault, etc.) and affected platforms.
Alex
________________________________
From: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> on behalf of Anson Jacob <Anson.Jacob at amd.com>
Sent: Monday, February 8, 2021 2:25 PM
To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Brol, Eryk <Eryk.Brol at amd.com>; Li, Sun peng (Leo) <Sunpeng.Li at amd.com>; Wentland, Harry <Harry.Wentland at amd.com>; Zhuo, Qingqing <Qingqing.Zhuo at amd.com>; Siqueira, Rodrigo <Rodrigo.Siqueira at amd.com>; Jacob, Anson <Anson.Jacob at amd.com>; Pillai, Aurabindo <Aurabindo.Pillai at amd.com>; Lakha, Bhawanpreet <Bhawanpreet.Lakha at amd.com>; R, Bindu <Bindu.R at amd.com>
Subject: [PATCH] Revert "drm/amd/display: move edp sink present detection to hw init"
This reverts commit de6571ecbb88643fa4bb4172e65c12795a2f3124.
Patch causes regression in resume time.
---
drivers/gpu/drm/amd/display/dc/core/dc.c | 40 +++++++++++-------------
drivers/gpu/drm/amd/display/dc/dc_link.h | 2 --
2 files changed, 18 insertions(+), 24 deletions(-)
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index c9aede2f783d..8d5378f53243 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -205,9 +205,27 @@ 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);
+ }
}
}
@@ -998,30 +1016,8 @@ 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);
}
diff --git a/drivers/gpu/drm/amd/display/dc/dc_link.h b/drivers/gpu/drm/amd/display/dc/dc_link.h
index e189f16bc026..d5d8f0ad9233 100644
--- a/drivers/gpu/drm/amd/display/dc/dc_link.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_link.h
@@ -103,8 +103,6 @@ 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
*/
--
2.25.1
_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=04%7C01%7Calexander.deucher%40amd.com%7C330474ac8a4246a1246e08d8cc676331%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637484091731093304%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=V%2FXbCLY8Vr%2BwEFQ4xE07QQBRNwXE9xKQY4Wnv%2B5PLCI%3D&reserved=0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20210208/59af7a58/attachment-0001.htm>
More information about the amd-gfx
mailing list