OSDN Git Service

drm/vc4: hdmi: Replace CSC_CTL hardcoded value by defines
authorMaxime Ripard <maxime@cerno.tech>
Thu, 20 Jan 2022 15:16:17 +0000 (16:16 +0100)
committerMaxime Ripard <maxime@cerno.tech>
Tue, 25 Jan 2022 09:02:45 +0000 (10:02 +0100)
On BCM2711, the HDMI_CSC_CTL register value has been hardcoded to an
opaque value. Let's replace it with properly defined values.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://patchwork.freedesktop.org/patch/msgid/20220120151625.594595-9-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_hdmi.c
drivers/gpu/drm/vc4/vc4_regs.h

index 0f8b1e9..682c3c9 100644 (file)
@@ -779,9 +779,8 @@ static void vc5_hdmi_csc_setup(struct vc4_hdmi *vc4_hdmi,
                               const struct drm_display_mode *mode)
 {
        unsigned long flags;
-       u32 csc_ctl;
-
-       csc_ctl = 0x07; /* RGB_CONVERT_MODE = custom matrix, || USE_RGB_TO_YCBCR */
+       u32 csc_ctl = VC5_MT_CP_CSC_CTL_ENABLE | VC4_SET_FIELD(VC4_HD_CSC_CTL_MODE_CUSTOM,
+                                                              VC5_MT_CP_CSC_CTL_MODE);
 
        spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
 
index 7538b84..3341071 100644 (file)
@@ -774,6 +774,9 @@ enum {
 # define VC4_HD_CSC_CTL_RGB2YCC                        BIT(1)
 # define VC4_HD_CSC_CTL_ENABLE                 BIT(0)
 
+# define VC5_MT_CP_CSC_CTL_ENABLE              BIT(2)
+# define VC5_MT_CP_CSC_CTL_MODE_MASK           VC4_MASK(1, 0)
+
 # define VC4_DVP_HT_CLOCK_STOP_PIXEL           BIT(1)
 
 /* HVS display list information. */