]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/amd/display: fix YCbCr420 blank color
authorEric Yang <Eric.Yang2@amd.com>
Thu, 22 Nov 2018 07:07:06 +0000 (02:07 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 19:02:23 +0000 (20:02 +0100)
commit1509f994e5ed461c435aefa2e5c19394e2690dc2
treea7ad5d72c1cbd89f571978b8bbcae5046be25e51
parent815e4fe3fdeab984f3da04ee438f9f657e97f05e
drm/amd/display: fix YCbCr420 blank color

[ Upstream commit 12750d1647f118496f1da727146f255f5e44d500 ]

[Why]
YCbCr420 packing format uses two chanels for luma, and 1
channel for both chroma component. Our previous implementation
did not account for this and results in every other pixel having
very high luma value, showing greyish color instead of black.

YCbCr444 = <Y1, Cb1, Cr1>; <Y2, Cb2, Cr2> .....
YCbCr420 = <Y1, Y2,  Cb1>; <Y3, Y4,  Cr1> .....

[How]
Program the second channel with the black color value for luma
as well.

Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Reviewed-by: Hugo Hu <Hugo.Hu@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c