Skip to content

Commit 6463d39

Browse files
Stuart Menefysuperna9999
authored andcommitted
drm/meson: Fix OSD1 RGB to YCbCr coefficient
VPP_WRAP_OSD1_MATRIX_COEF22.Coeff22 is documented as being bits 0-12, not 16-28. Without this the output tends to have a pink hue, changing it results in better color accuracy. The vendor kernel doesn't use this register. However the code which sets VIU2_OSD1_MATRIX_COEF22 also uses bits 0-12. There is a slightly different style of registers for configuring some of the other matrices, which do use bits 16-28 for this coefficient, but those have names ending in MATRIX_COEF22_30, and this is not one of those. Signed-off-by: Stuart Menefy <[email protected]> Fixes: 7288839 ("drm/meson: Add G12A Support for VIU setup") Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Neil Armstrong <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent 6836829 commit 6463d39

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/gpu/drm/meson/meson_viu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ static void meson_viu_set_g12a_osd1_matrix(struct meson_drm *priv,
9494
priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF11_12));
9595
writel(((m[9] & 0x1fff) << 16) | (m[10] & 0x1fff),
9696
priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF20_21));
97-
writel((m[11] & 0x1fff) << 16,
97+
writel((m[11] & 0x1fff),
9898
priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF22));
9999

100100
writel(((m[18] & 0xfff) << 16) | (m[19] & 0xfff),

0 commit comments

Comments
 (0)