Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Fix 10bit 4K display on CIK GPUs

Commit 72a7cf0aec0c ("drm/amd/display: Keep linebuffer pixel depth at
30bpp for DCE-11.0.") doesn't seems to have fixed 10bit 4K rendering over
DisplayPort for CIK GPUs. On my machine with a HAWAII GPU I get a broken
image that looks like it has an effective resolution of 1920x1080 but
scaled up in an irregular way. Reverting the commit or applying this
patch fixes the problem on v5.14-rc1.

Fixes: 72a7cf0aec0c ("drm/amd/display: Keep linebuffer pixel depth at 30bpp for DCE-11.0.")
Acked-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Liviu Dudau and committed by
Alex Deucher
353ca0fa bd89c991

+1 -1
+1 -1
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
··· 1062 1062 * so use only 30 bpp on DCE_VERSION_11_0. Testing with DCE 11.2 and 8.3 1063 1063 * did not show such problems, so this seems to be the exception. 1064 1064 */ 1065 - if (plane_state->ctx->dce_version != DCE_VERSION_11_0) 1065 + if (plane_state->ctx->dce_version > DCE_VERSION_11_0) 1066 1066 pipe_ctx->plane_res.scl_data.lb_params.depth = LB_PIXEL_DEPTH_36BPP; 1067 1067 else 1068 1068 pipe_ctx->plane_res.scl_data.lb_params.depth = LB_PIXEL_DEPTH_30BPP;