drm/exynos: mixer: Fix color format setting
Fix color format decision based on height(pixels). According to CEA-861-E: "High Definition (HD) - A CE video format that, inclusively, has between 720 to 1080 active vertical lines (Vactive) lines per video frame." Tested on Odroid-U3 with Exynos 4412 CPU, kernel next-20181128 using modetest. Signed-off-by: Christoph Manszewski <c.manszewski@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
af130280c6
commit
e9e5ba93cb
@ -384,14 +384,9 @@ static void mixer_cfg_rgb_fmt(struct mixer_context *ctx, unsigned int height)
|
|||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
switch (height) {
|
if (height < 720) {
|
||||||
case 480:
|
|
||||||
case 576:
|
|
||||||
val = MXR_CFG_RGB601_0_255;
|
val = MXR_CFG_RGB601_0_255;
|
||||||
break;
|
} else {
|
||||||
case 720:
|
|
||||||
case 1080:
|
|
||||||
default:
|
|
||||||
val = MXR_CFG_RGB709_16_235;
|
val = MXR_CFG_RGB709_16_235;
|
||||||
/* Configure the BT.709 CSC matrix for full range RGB. */
|
/* Configure the BT.709 CSC matrix for full range RGB. */
|
||||||
mixer_reg_write(ctx, MXR_CM_COEFF_Y,
|
mixer_reg_write(ctx, MXR_CM_COEFF_Y,
|
||||||
@ -401,7 +396,6 @@ static void mixer_cfg_rgb_fmt(struct mixer_context *ctx, unsigned int height)
|
|||||||
MXR_CSC_CT(-0.102, -0.338, 0.440));
|
MXR_CSC_CT(-0.102, -0.338, 0.440));
|
||||||
mixer_reg_write(ctx, MXR_CM_COEFF_CR,
|
mixer_reg_write(ctx, MXR_CM_COEFF_CR,
|
||||||
MXR_CSC_CT( 0.440, -0.399, -0.040));
|
MXR_CSC_CT( 0.440, -0.399, -0.040));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mixer_reg_writemask(ctx, MXR_CFG, val, MXR_CFG_RGB_FMT_MASK);
|
mixer_reg_writemask(ctx, MXR_CFG, val, MXR_CFG_RGB_FMT_MASK);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user