]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amd/display: Fix P010, NV12, YUY2 scale down by four times failure
authorKaier Hsueg <Kaier.Hsueh@amd.com>
Thu, 4 Dec 2025 16:33:59 +0000 (00:33 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 5 Jan 2026 21:59:58 +0000 (16:59 -0500)
commitfd3fece04db80c8877361bf4c9f59521ce457be0
tree5d4d3567b4c5932f17aa89df35d7f1ea2f67c3ae
parentaf3303970da5ce5bfe6dffdd07f38f42aad603e0
drm/amd/display: Fix P010, NV12, YUY2 scale down by four times failure

[WHY]
When performing 4:1 downscaling with subsampled formats,
the SPL remainder distribution logic (+1) overrides the
upper layer’s aligned width, resulting in odd segment
widths and causing hang.

The upper layer alignment ensures the width is sufficient
and even, so SPL should not modify it further.

[HOW]
In dc_spl.c within calculate_mpc_slice_in_timing_active,
add an extra condition: Skip the remainder distribution
(+1) when use_recout_width_aligned is true.This change
respects the upper layer’s alignment decision, prevents
odd widths, and is a minimal, safe fix.

Reviewed-by: Joshua Aberback <joshua.aberback@amd.com>
Signed-off-by: Kaier Hsueh <Kaier.Hsueh@amd.com>
Signed-off-by: Chenyu Chen <chen-yu.chen@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/sspl/dc_spl.c