aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Barberiz <jbarberi@amd.com>2018-02-06 12:25:17 -0500
committerAlex Deucher <alexander.deucher@amd.com>2018-02-19 14:20:11 -0500
commitb0c4e977522c34e20ad54ff4ca104129a7cfdeca (patch)
tree28e833f78e9d182a55f8848362bb3f4e2c6471a7
parenta0a31ec4ce6a8c8bc4f4b8619b537e4a9a0ddaf1 (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.c16
-rw-r--r--drivers/gpu/drm/amd/display/dc/dc_types.h1
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 */
120static bool program_hpd_filter( 119static 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;
1099device_tag_fail: 1091device_tag_fail:
@@ -2018,7 +2010,7 @@ const struct dc_link_status *dc_link_get_status(const struct dc_link *link)
2018void core_link_resume(struct dc_link *link) 2010void 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
2024static struct fixed31_32 get_pbn_per_slot(struct dc_stream_state *stream) 2016static 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
196struct dc_panel_patch { 196struct dc_panel_patch {
197 unsigned int disconnect_delay;
198 unsigned int dppowerup_delay; 197 unsigned int dppowerup_delay;
199}; 198};
200 199