From: John Barberiz <jbarberi@amd.com>
Date: Tue, 6 Feb 2018 12:25:17 -0500
Subject: drm/amd/display: Remove delay on disconnect patch
Git-commit: b0c4e977522c34e20ad54ff4ca104129a7cfdeca
Patch-mainline: v4.17-rc1
References: FATE#326289 FATE#326079 FATE#326049 FATE#322398 FATE#326166
HDMI HPD's generic solution makes the monitor
patch code unnecessary so anything related has
been removed.
Signed-off-by: John Barberiz <jbarberi@amd.com>
Reviewed-by: John Barberiz <jbarberi@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Petr Tesarik <ptesarik@suse.com>
---
drivers/gpu/drm/amd/display/dc/core/dc_link.c | 16 ++++------------
drivers/gpu/drm/amd/display/dc/dc_types.h | 1 -
2 files changed, 4 insertions(+), 13 deletions(-)
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -50,7 +50,6 @@
dm_logger_write(dc_ctx->logger, LOG_HW_HOTPLUG, \
__VA_ARGS__)
-#define DEFAULT_DELAY_DISCONNECT 100
/*******************************************************************************
* Private structures
******************************************************************************/
@@ -118,7 +117,7 @@ struct gpio *get_hpd_gpio(struct dc_bios
* true on success, false otherwise
*/
static bool program_hpd_filter(
- const struct dc_link *link, int default_disconnect_delay)
+ const struct dc_link *link)
{
bool result = false;
@@ -136,7 +135,7 @@ static bool program_hpd_filter(
case SIGNAL_TYPE_HDMI_TYPE_A:
/* Program hpd filter */
delay_on_connect_in_ms = 500;
- delay_on_disconnect_in_ms = default_disconnect_delay;
+ delay_on_disconnect_in_ms = 100;
break;
case SIGNAL_TYPE_DISPLAY_PORT:
case SIGNAL_TYPE_DISPLAY_PORT_MST:
@@ -700,13 +699,6 @@ bool dc_link_detect(struct dc_link *link
dp_hbr_verify_link_cap(link, &link->reported_link_cap);
}
- /* Add delay for certain monitors */
- if (sink->edid_caps.panel_patch.disconnect_delay > 0
- && sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A)
- program_hpd_filter(link, sink->edid_caps.panel_patch.disconnect_delay);
- else
- program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT);
-
/* HDMI-DVI Dongle */
if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
!sink->edid_caps.edid_hdmi)
@@ -1093,7 +1085,7 @@ static bool construct(
* If GPIO isn't programmed correctly HPD might not rise or drain
* fast enough, leading to bounces.
*/
- program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT);
+ program_hpd_filter(link);
return true;
device_tag_fail:
@@ -2018,7 +2010,7 @@ const struct dc_link_status *dc_link_get
void core_link_resume(struct dc_link *link)
{
if (link->connector_signal != SIGNAL_TYPE_VIRTUAL)
- program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT);
+ program_hpd_filter(link);
}
static struct fixed31_32 get_pbn_per_slot(struct dc_stream_state *stream)
--- a/drivers/gpu/drm/amd/display/dc/dc_types.h
+++ b/drivers/gpu/drm/amd/display/dc/dc_types.h
@@ -194,7 +194,6 @@ union display_content_support {
};
struct dc_panel_patch {
- unsigned int disconnect_delay;
unsigned int dppowerup_delay;
};