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? 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