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

drm/sun4i: Fix macros in sun8i_csc.h

Macros SUN8I_CSC_CTRL() and SUN8I_CSC_COEFF() don't follow usual
recommendation of having arguments enclosed in parenthesis. While that
didn't change anything for quite sometime, it actually become important
after CSC code rework with commit ea067aee45a8 ("drm/sun4i: de2/de3:
Remove redundant CSC matrices").

Without this fix, colours are completely off for supported YVU formats
on SoCs with DE2 (A64, H3, R40, etc.).

Fix the issue by enclosing macro arguments in parenthesis.

Cc: stable@vger.kernel.org # 5.12+
Fixes: 883029390550 ("drm/sun4i: Add DE2 CSC library")
Reported-by: Roman Stratiienko <r.stratiienko@gmail.com>
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20210831184819.93670-1-jernej.skrabec@gmail.com

authored by

Jernej Skrabec and committed by
Maxime Ripard
c302c98d f5df171f

+2 -2
+2 -2
drivers/gpu/drm/sun4i/sun8i_csc.h
··· 16 16 #define CCSC10_OFFSET 0xA0000 17 17 #define CCSC11_OFFSET 0xF0000 18 18 19 - #define SUN8I_CSC_CTRL(base) (base + 0x0) 20 - #define SUN8I_CSC_COEFF(base, i) (base + 0x10 + 4 * i) 19 + #define SUN8I_CSC_CTRL(base) ((base) + 0x0) 20 + #define SUN8I_CSC_COEFF(base, i) ((base) + 0x10 + 4 * (i)) 21 21 22 22 #define SUN8I_CSC_CTRL_EN BIT(0) 23 23