diff options
author | John Barberiz <jbarberi@amd.com> | 2018-02-06 12:25:17 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2018-02-19 14:20:11 -0500 |
commit | b0c4e977522c34e20ad54ff4ca104129a7cfdeca (patch) | |
tree | 28e833f78e9d182a55f8848362bb3f4e2c6471a7 | |
parent | a0a31ec4ce6a8c8bc4f4b8619b537e4a9a0ddaf1 (diff) |
drm/amd/display: Remove delay on disconnect patch
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>
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/core/dc_link.c | 16 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/dc_types.h | 1 |
2 files changed, 4 insertions, 13 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c index 44b12f0405ee..95955ade4012 100644 --- 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 @@ | |||
50 | dm_logger_write(dc_ctx->logger, LOG_HW_HOTPLUG, \ | 50 | dm_logger_write(dc_ctx->logger, LOG_HW_HOTPLUG, \ |
51 | __VA_ARGS__) | 51 | __VA_ARGS__) |
52 | 52 | ||
53 | #define DEFAULT_DELAY_DISCONNECT 100 | ||
54 | /******************************************************************************* | 53 | /******************************************************************************* |
55 | * Private structures | 54 | * Private structures |
56 | ******************************************************************************/ | 55 | ******************************************************************************/ |
@@ -118,7 +117,7 @@ struct gpio *get_hpd_gpio(struct dc_bios *dcb, | |||
118 | * true on success, false otherwise | 117 | * true on success, false otherwise |
119 | */ | 118 | */ |
120 | static bool program_hpd_filter( | 119 | static bool program_hpd_filter( |
121 | const struct dc_link *link, int default_disconnect_delay) | 120 | const struct dc_link *link) |
122 | { | 121 | { |
123 | bool result = false; | 122 | bool result = false; |
124 | 123 | ||
@@ -136,7 +135,7 @@ static bool program_hpd_filter( | |||
136 | case SIGNAL_TYPE_HDMI_TYPE_A: | 135 | case SIGNAL_TYPE_HDMI_TYPE_A: |
137 | /* Program hpd filter */ | 136 | /* Program hpd filter */ |
138 | delay_on_connect_in_ms = 500; | 137 | delay_on_connect_in_ms = 500; |
139 | delay_on_disconnect_in_ms = default_disconnect_delay; | 138 | delay_on_disconnect_in_ms = 100; |
140 | break; | 139 | break; |
141 | case SIGNAL_TYPE_DISPLAY_PORT: | 140 | case SIGNAL_TYPE_DISPLAY_PORT: |
142 | case SIGNAL_TYPE_DISPLAY_PORT_MST: | 141 | case SIGNAL_TYPE_DISPLAY_PORT_MST: |
@@ -700,13 +699,6 @@ bool dc_link_detect(struct dc_link *link, enum dc_detect_reason reason) | |||
700 | dp_hbr_verify_link_cap(link, &link->reported_link_cap); | 699 | dp_hbr_verify_link_cap(link, &link->reported_link_cap); |
701 | } | 700 | } |
702 | 701 | ||
703 | /* Add delay for certain monitors */ | ||
704 | if (sink->edid_caps.panel_patch.disconnect_delay > 0 | ||
705 | && sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A) | ||
706 | program_hpd_filter(link, sink->edid_caps.panel_patch.disconnect_delay); | ||
707 | else | ||
708 | program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT); | ||
709 | |||
710 | /* HDMI-DVI Dongle */ | 702 | /* HDMI-DVI Dongle */ |
711 | if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A && | 703 | if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A && |
712 | !sink->edid_caps.edid_hdmi) | 704 | !sink->edid_caps.edid_hdmi) |
@@ -1093,7 +1085,7 @@ static bool construct( | |||
1093 | * If GPIO isn't programmed correctly HPD might not rise or drain | 1085 | * If GPIO isn't programmed correctly HPD might not rise or drain |
1094 | * fast enough, leading to bounces. | 1086 | * fast enough, leading to bounces. |
1095 | */ | 1087 | */ |
1096 | program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT); | 1088 | program_hpd_filter(link); |
1097 | 1089 | ||
1098 | return true; | 1090 | return true; |
1099 | device_tag_fail: | 1091 | device_tag_fail: |
@@ -2018,7 +2010,7 @@ const struct dc_link_status *dc_link_get_status(const struct dc_link *link) | |||
2018 | void core_link_resume(struct dc_link *link) | 2010 | void core_link_resume(struct dc_link *link) |
2019 | { | 2011 | { |
2020 | if (link->connector_signal != SIGNAL_TYPE_VIRTUAL) | 2012 | if (link->connector_signal != SIGNAL_TYPE_VIRTUAL) |
2021 | program_hpd_filter(link, DEFAULT_DELAY_DISCONNECT); | 2013 | program_hpd_filter(link); |
2022 | } | 2014 | } |
2023 | 2015 | ||
2024 | static struct fixed31_32 get_pbn_per_slot(struct dc_stream_state *stream) | 2016 | static struct fixed31_32 get_pbn_per_slot(struct dc_stream_state *stream) |
diff --git a/drivers/gpu/drm/amd/display/dc/dc_types.h b/drivers/gpu/drm/amd/display/dc/dc_types.h index aa5b90e6beb7..8811b6f86bff 100644 --- 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 { | |||
194 | }; | 194 | }; |
195 | 195 | ||
196 | struct dc_panel_patch { | 196 | struct dc_panel_patch { |
197 | unsigned int disconnect_delay; | ||
198 | unsigned int dppowerup_delay; | 197 | unsigned int dppowerup_delay; |
199 | }; | 198 | }; |
200 | 199 | ||