From: David Galiffi Date: Thu, 11 Jun 2020 21:36:14 +0000 (-0400) Subject: drm/amd/display: Compare v_front_porch when checking if streams are synchronizable X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8582aea20bc5de1fc4f2029e6cde604b2c755c0a;p=linux.git drm/amd/display: Compare v_front_porch when checking if streams are synchronizable [Why] If the front porch of the two timings differ, then there may not be enough time while both streams are in vertical blank to perform a memory clock change. This can hang the system. [How] Check the each streams timing.v_front_porch when determining if the two streams are synchronizable. Signed-off-by: David Galiffi Reviewed-by: Jun Lei Acked-by: Rodrigo Siqueira Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c index 3d0003c69373f..1000dc6daf722 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c @@ -399,6 +399,10 @@ bool resource_are_streams_timing_synchronizable( != stream2->timing.v_addressable) return false; + if (stream1->timing.v_front_porch + != stream2->timing.v_front_porch) + return false; + if (stream1->timing.pix_clk_100hz != stream2->timing.pix_clk_100hz) return false;