Applied. Thanks! Alex On Fri, Mar 26, 2021 at 10:59 AM Harry Wentland <harry.wentland@xxxxxxx> wrote: > > > > On 2021-03-24 4:23 p.m., Alex Deucher wrote: > > On Wed, Mar 17, 2021 at 11:25 AM Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> wrote: > >> > >> When encoder validation of a display mode fails, retry with less bandwidth > >> heavy YCbCr420 color mode, if available. This enables some HDMI 1.4 setups > >> to support 4k60Hz output, which previously failed silently. > >> > >> On some setups, while the monitor and the gpu support display modes with > >> pixel clocks of up to 600MHz, the link encoder might not. This prevents > >> YCbCr444 and RGB encoding for 4k60Hz, but YCbCr420 encoding might still be > >> possible. However, which color mode is used is decided before the link > >> encoder capabilities are checked. This patch fixes the problem by retrying > >> to find a display mode with YCbCr420 enforced and using it, if it is > >> valid. > >> > >> Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> > >> Cc: <stable@xxxxxxxxxxxxxxx> > > > > > > This seems reasonable to me. Harry, Leo, Any objections? > > > > Looks good to me. > > Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> > > Harry > > > Alex > > > >> --- > >> > >> From c9398160caf4ff20e63b8ba3a4366d6ef95c4ac3 Mon Sep 17 00:00:00 2001 > >> From: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> > >> Date: Wed, 17 Mar 2021 12:52:22 +0100 > >> Subject: [PATCH] Retry forcing YCbCr420 color on failed encoder validation > >> > >> --- > >> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 9 +++++++++ > >> 1 file changed, 9 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > >> index 961abf1cf040..2d16389b5f1e 100644 > >> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > >> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c > >> @@ -5727,6 +5727,15 @@ create_validate_stream_for_sink(struct amdgpu_dm_connector *aconnector, > >> > >> } while (stream == NULL && requested_bpc >= 6); > >> > >> + if (dc_result == DC_FAIL_ENC_VALIDATE && !aconnector->force_yuv420_output) { > >> + DRM_DEBUG_KMS("Retry forcing YCbCr420 encoding\n"); > >> + > >> + aconnector->force_yuv420_output = true; > >> + stream = create_validate_stream_for_sink(aconnector, drm_mode, > >> + dm_state, old_stream); > >> + aconnector->force_yuv420_output = false; > >> + } > >> + > >> return stream; > >> } > >> > >> -- > >> 2.25.1 > >> > >> _______________________________________________ > >> dri-devel mailing list > >> dri-devel@xxxxxxxxxxxxxxxxxxxxx > >> https://lists.freedesktop.org/mailman/listinfo/dri-devel>