提交 cf65ebeb 编写于 作者: E Eric Yang 提交者: Alex Deucher

drm/amd/display: fix link bw calculation for 422 and 420 encoding

Link bw required is reduced when we have chroma subsampling.
Signed-off-by: NEric Yang <Eric.Yang2@amd.com>
Reviewed-by: NCharlene Liu <Charlene.Liu@amd.com>
Acked-by: NHarry Wentland <harry.wentland@amd.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
上级 3dc8acad
......@@ -1378,6 +1378,11 @@ static uint32_t bandwidth_in_kbps_from_timing(
{
uint32_t bits_per_channel = 0;
uint32_t kbps;
if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422)
bits_per_channel = 12;
else{
switch (timing->display_color_depth) {
case COLOR_DEPTH_666:
......@@ -1401,14 +1406,20 @@ static uint32_t bandwidth_in_kbps_from_timing(
default:
break;
}
}
ASSERT(bits_per_channel != 0);
kbps = timing->pix_clk_khz;
kbps *= bits_per_channel;
if (timing->flags.Y_ONLY != 1)
if (timing->flags.Y_ONLY != 1) {
/*Only YOnly make reduce bandwidth by 1/3 compares to RGB*/
kbps *= 3;
if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR420)
kbps /= 2;
else if (timing->pixel_encoding == PIXEL_ENCODING_YCBCR422)
kbps = kbps * 2 / 3;
}
return kbps;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册