950-0627-drm-vc4-hdmi-Replace-CSC_CTL-hardcoded-value-by-defi.patch 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. From 77b0e8ded57e7fb5d742fb533d7a9bb3f3788513 Mon Sep 17 00:00:00 2001
  2. From: Maxime Ripard <[email protected]>
  3. Date: Wed, 13 Jan 2021 11:20:08 +0100
  4. Subject: [PATCH] drm/vc4: hdmi: Replace CSC_CTL hardcoded value by
  5. defines
  6. On BCM2711, the HDMI_CSC_CTL register value has been hardcoded to an
  7. opaque value. Let's replace it with properly defined values.
  8. Acked-by: Thomas Zimmermann <[email protected]>
  9. Signed-off-by: Maxime Ripard <[email protected]>
  10. ---
  11. drivers/gpu/drm/vc4/vc4_hdmi.c | 5 ++---
  12. drivers/gpu/drm/vc4/vc4_regs.h | 3 +++
  13. 2 files changed, 5 insertions(+), 3 deletions(-)
  14. --- a/drivers/gpu/drm/vc4/vc4_hdmi.c
  15. +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
  16. @@ -786,9 +786,8 @@ static void vc5_hdmi_csc_setup(struct vc
  17. const struct drm_display_mode *mode)
  18. {
  19. unsigned long flags;
  20. - u32 csc_ctl;
  21. -
  22. - csc_ctl = 0x07; /* RGB_CONVERT_MODE = custom matrix, || USE_RGB_TO_YCBCR */
  23. + u32 csc_ctl = VC5_MT_CP_CSC_CTL_ENABLE | VC4_SET_FIELD(VC4_HD_CSC_CTL_MODE_CUSTOM,
  24. + VC5_MT_CP_CSC_CTL_MODE);
  25. spin_lock_irqsave(&vc4_hdmi->hw_lock, flags);
  26. --- a/drivers/gpu/drm/vc4/vc4_regs.h
  27. +++ b/drivers/gpu/drm/vc4/vc4_regs.h
  28. @@ -810,6 +810,9 @@ enum {
  29. # define VC4_HD_CSC_CTL_RGB2YCC BIT(1)
  30. # define VC4_HD_CSC_CTL_ENABLE BIT(0)
  31. +# define VC5_MT_CP_CSC_CTL_ENABLE BIT(2)
  32. +# define VC5_MT_CP_CSC_CTL_MODE_MASK VC4_MASK(1, 0)
  33. +
  34. # define VC4_DVP_HT_CLOCK_STOP_PIXEL BIT(1)
  35. /* HVS display list information. */