FAILED: patch "[PATCH] drm/amd/display: Default HDMI6G support to true. Log VBIOS" failed to apply to 4.16-stable tree
[email protected]
maintainerThe patch below does not apply to the 4.16-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
ea74e15fb547483f9f86088443f2d3c9f518de8bMon Sep 17 00:00:00 2001
From: Harry Wentland <[email protected]>
Date: Tue, 20 Feb 2018 13:36:23 -0500
Subject: [PATCH] drm/amd/display: Default HDMI6G support to true. Log VBIOS
table error.
There have been many reports of Ellesmere and Baffin systems not being able to drive HDMI 4k60 due to the fact that we check the HDMI_6GB_EN bit from VBIOS table. Windows seems to not have this issue.
On some systems we fail to the encoder cap info from VBIOS. In that case we should default to enabling HDMI6G support.
This was tested by dwagner on
https://bugs.freedesktop.org/show_bug.cgi?id=102820
drivers/gpu/drm/amd/display/dc/dce/dce_link_encoder.c +13 -3
@@ -678,6 +678,7 @@ void dce110_link_encoder_construct( {struct bp_encoder_cap_info bp_cap_info = {0 };const struct dc_vbios_funcs *bp_funcs = init_data->ctx->dc_bios->funcs; +enum bp_result result =BP_RESULT_OK ; enc110->base.funcs = &dce110_lnk_enc_funcs; enc110->base.ctx = init_data->ctx;
@@ -752,15 +753,24 @@ void dce110_link_encoder_construct( enc110->base.preferred_engine =ENGINE_ID_UNKNOWN ; } +/* default to one to mirror Windows behavior */ + enc110->base.features.flags.bits.HDMI_6GB_EN =1 ; + + result = bp_funcs->get_encoder_cap_info (enc110->base.ctx->dc_bios, + enc110->base.id, &bp_cap_info); +/* Override features with DCE-specific values */ -if (BP_RESULT_OK == bp_funcs->get_encoder_cap_info ( - enc110->base.ctx->dc_bios, enc110->base.id, - &bp_cap_info)) { +if (BP_RESULT_OK == result) { enc110->base.features.flags.bits.IS_HBR2_CAPABLE = bp_cap_info.DP_HBR2_EN; enc110->base.features.flags.bits.IS_HBR3_CAPABLE = bp_cap_info.DP_HBR3_EN; enc110->base.features.flags.bits.HDMI_6GB_EN = bp_cap_info.HDMI_6GB_EN; + }else { +dm_logger_write (enc110->base.ctx->logger,LOG_WARNING , +"%s: Failed to get encoder_cap_info from VBIOS with error code %d!\n" , + __func__, + result); } }