diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0113-drm-amd-display-Fix-link-retraining-hw-sequence.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0113-drm-amd-display-Fix-link-retraining-hw-sequence.patch | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0113-drm-amd-display-Fix-link-retraining-hw-sequence.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0113-drm-amd-display-Fix-link-retraining-hw-sequence.patch deleted file mode 100644 index cddfd3bc..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0113-drm-amd-display-Fix-link-retraining-hw-sequence.patch +++ /dev/null @@ -1,140 +0,0 @@ -From adccecb927349ea98ee429f75a3e50955432acf2 Mon Sep 17 00:00:00 2001 -From: Zeyu Fan <Zeyu.Fan@amd.com> -Date: Fri, 23 Dec 2016 16:53:12 -0500 -Subject: [PATCH 0113/4131] drm/amd/display: Fix link retraining hw sequence - -Signed-off-by: Zeyu Fan <Zeyu.Fan@amd.com> -Reviewed-by: Hersen Wu <hersenxs.wu@amd.com> -Acked-by: Harry Wentland <Harry.Wentland@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/display/dc/core/dc.c | 15 +++---- - drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 49 +++++++++++++++++++++- - drivers/gpu/drm/amd/display/dc/dc.h | 3 +- - drivers/gpu/drm/amd/display/dc/inc/link_hwss.h | 4 ++ - 4 files changed, 62 insertions(+), 9 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c -index 69819d8..ad1ce60 100644 ---- a/drivers/gpu/drm/amd/display/dc/core/dc.c -+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c -@@ -357,17 +357,18 @@ static void perform_link_training(struct dc *dc, - } - - static void set_preferred_link_settings(struct dc *dc, -- struct dc_link_settings *link_setting) -+ struct dc_link_settings *link_setting, -+ const struct dc_link *link) - { -- struct core_dc *core_dc = DC_TO_CORE(dc); -- int i; -+ struct core_link *core_link = DC_LINK_TO_CORE(link); - -- for (i = 0; i < core_dc->link_count; i++) { -- core_dc->links[i]->public.verified_link_cap.lane_count = -+ core_link->public.verified_link_cap.lane_count = - link_setting->lane_count; -- core_dc->links[i]->public.verified_link_cap.link_rate = -+ core_link->public.verified_link_cap.link_rate = - link_setting->link_rate; -- } -+ dp_retrain_link_physi(core_link, -+ link_setting, -+ false); - } - - static void enable_hpd(const struct dc_link *link) -diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c -index 4febc8d..f870a0e 100644 ---- a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c -+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c -@@ -200,7 +200,6 @@ void dp_set_hw_test_pattern( - encoder->funcs->dp_set_phy_pattern(encoder, &pattern_param); - } - -- - void dp_retrain_link(struct core_link *link) - { - struct pipe_ctx *pipes = link->dc->current_context->res_ctx.pipe_ctx; -@@ -221,3 +220,51 @@ void dp_retrain_link(struct core_link *link) - } - } - } -+ -+void dp_retrain_link_physi(struct core_link *link, -+ struct dc_link_settings *link_setting, -+ bool skip_video_pattern) -+{ -+ struct pipe_ctx *pipes = -+ &link->dc->current_context->res_ctx.pipe_ctx[0]; -+ unsigned int i; -+ -+ for (i = 0; i < MAX_PIPES; i++) { -+ if (pipes[i].stream != NULL && -+ pipes[i].stream->sink != NULL && -+ pipes[i].stream->sink->link != NULL && -+ pipes[i].stream_enc != NULL && -+ pipes[i].stream->sink->link == link) { -+ dm_delay_in_microseconds(link->ctx, 100); -+ -+ pipes[i].stream_enc->funcs->dp_blank( -+ pipes[i].stream_enc); -+ -+ dp_receiver_power_ctrl(link, false); -+ -+ link->link_enc->funcs->disable_output( -+ link->link_enc, -+ SIGNAL_TYPE_DISPLAY_PORT); -+ -+ /* Clear current link setting. -+ * memset(&link->public.cur_link_settings, 0, -+ * sizeof(link->public.cur_link_settings)); -+ */ -+ -+ link->link_enc->funcs->enable_dp_output( -+ link->link_enc, -+ link_setting, -+ pipes[i].clock_source->id); -+ -+ dp_receiver_power_ctrl(link, true); -+ -+ dc_link_dp_perform_link_training( -+ &link->public, -+ link_setting, -+ skip_video_pattern); -+ -+ link->dc->hwss.unblank_stream(&pipes[i], -+ link_setting); -+ } -+ } -+} -diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h -index 599f8b0..83d78c2 100644 ---- a/drivers/gpu/drm/amd/display/dc/dc.h -+++ b/drivers/gpu/drm/amd/display/dc/dc.h -@@ -117,7 +117,8 @@ struct dc_link_funcs { - struct dc_link_settings *link_setting, - bool skip_video_pattern); - void (*set_preferred_link_settings)(struct dc *dc, -- struct dc_link_settings *link_setting); -+ struct dc_link_settings *link_setting, -+ const struct dc_link *link); - void (*enable_hpd)(const struct dc_link *link); - void (*disable_hpd)(const struct dc_link *link); - void (*set_test_pattern)( -diff --git a/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h b/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h -index 662fa30..30831c5 100644 ---- a/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h -+++ b/drivers/gpu/drm/amd/display/dc/inc/link_hwss.h -@@ -70,4 +70,8 @@ enum dp_panel_mode dp_get_panel_mode(struct core_link *link); - - void dp_retrain_link(struct core_link *link); - -+void dp_retrain_link_physi(struct core_link *link, -+ struct dc_link_settings *link_setting, -+ bool skip_video_pattern); -+ - #endif /* __DC_LINK_HWSS_H__ */ --- -2.7.4 - |