diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3108-drm-amd-display-Don-t-allow-dual-link-DVI-on-all-ASI.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3108-drm-amd-display-Don-t-allow-dual-link-DVI-on-all-ASI.patch | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3108-drm-amd-display-Don-t-allow-dual-link-DVI-on-all-ASI.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3108-drm-amd-display-Don-t-allow-dual-link-DVI-on-all-ASI.patch new file mode 100644 index 00000000..e8e9cc40 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3108-drm-amd-display-Don-t-allow-dual-link-DVI-on-all-ASI.patch @@ -0,0 +1,103 @@ +From f7a2e6b9d0f0b010d78b2c708475737323cbae72 Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Tue, 19 Dec 2017 16:17:22 -0500 +Subject: [PATCH 3108/4131] drm/amd/display: Don't allow dual-link DVI on all + ASICs. + +Our APUs (Carrizo, Stoney, Raven) don't support it. + +v2: Don't use is_apu as other ASICs might also not support it + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 5 +++-- + drivers/gpu/drm/amd/display/dc/dc.h | 1 + + drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c | 1 + + drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 2 ++ + drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 2 ++ + drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c | 1 + + 6 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +index 261811e..37dd109 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +@@ -45,8 +45,9 @@ static void update_stream_signal(struct dc_stream_state *stream) + stream->signal = dc_sink->sink_signal; + + if (dc_is_dvi_signal(stream->signal)) { +- if (stream->timing.pix_clk_khz > TMDS_MAX_PIXEL_CLOCK_IN_KHZ_UPMOST && +- stream->sink->sink_signal != SIGNAL_TYPE_DVI_SINGLE_LINK) ++ if (stream->ctx->dc->caps.dual_link_dvi && ++ stream->timing.pix_clk_khz > TMDS_MAX_PIXEL_CLOCK_IN_KHZ_UPMOST && ++ stream->sink->sink_signal != SIGNAL_TYPE_DVI_SINGLE_LINK) + stream->signal = SIGNAL_TYPE_DVI_DUAL_LINK; + else + stream->signal = SIGNAL_TYPE_DVI_SINGLE_LINK; +diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h +index b30e30f..ea702e5 100644 +--- a/drivers/gpu/drm/amd/display/dc/dc.h ++++ b/drivers/gpu/drm/amd/display/dc/dc.h +@@ -62,6 +62,7 @@ struct dc_caps { + bool dcc_const_color; + bool dynamic_audio; + bool is_apu; ++ bool dual_link_dvi; + }; + + struct dc_dcc_surface_param { +diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c +index 9091125..84dad36 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c +@@ -852,6 +852,7 @@ static bool construct( + dc->caps.max_downscale_ratio = 200; + dc->caps.i2c_speed_in_khz = 40; + dc->caps.max_cursor_size = 128; ++ dc->caps.dual_link_dvi = true; + + for (i = 0; i < pool->base.pipe_count; i++) { + pool->base.timing_generators[i] = +diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c +index 663e0a0..98d9cd0 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c +@@ -1103,6 +1103,8 @@ static bool construct( + dc->caps.max_downscale_ratio = 200; + dc->caps.i2c_speed_in_khz = 100; + dc->caps.max_cursor_size = 128; ++ dc->caps.dual_link_dvi = true; ++ + + /************************************************* + * Create resources * +diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c +index 57cd673..5aab01d 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c +@@ -835,6 +835,8 @@ static bool construct( + dc->caps.max_downscale_ratio = 200; + dc->caps.i2c_speed_in_khz = 100; + dc->caps.max_cursor_size = 128; ++ dc->caps.dual_link_dvi = true; ++ + dc->debug = debug_defaults; + + /************************************************* +diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c +index 8f2bd56..25d7eb1 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c +@@ -793,6 +793,7 @@ static bool dce80_construct( + dc->caps.max_downscale_ratio = 200; + dc->caps.i2c_speed_in_khz = 40; + dc->caps.max_cursor_size = 128; ++ dc->caps.dual_link_dvi = true; + + /************************************************* + * Create resources * +-- +2.7.4 + |