summarylogtreecommitdiffstats
path: root/0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch
diff options
context:
space:
mode:
Diffstat (limited to '0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch')
-rw-r--r--0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch b/0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch
new file mode 100644
index 000000000000..17716498406d
--- /dev/null
+++ b/0006-drm-i915-dp-Add-register-definitions-for-Intel-HDR-b.patch
@@ -0,0 +1,88 @@
+From ce0861d0336749a66d49a0d35e6f90265b8c7499 Mon Sep 17 00:00:00 2001
+From: Lyude Paul <lyude@redhat.com>
+Date: Fri, 4 Dec 2020 17:36:00 -0500
+Subject: [PATCH 06/10] drm/i915/dp: Add register definitions for Intel HDR
+ backlight interface
+
+No functional changes yet, this just adds definitions for all of the
+known DPCD registers used by Intel's HDR backlight interface. Since
+we'll only ever use this in i915, we just define them in
+intel_dp_aux_backlight.c
+
+Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
+Signed-off-by: Lyude Paul <lyude@redhat.com>
+Cc: thaytan@noraisin.net
+Cc: Vasily Khoruzhick <anarsoul@gmail.com>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Link: https://patchwork.freedesktop.org/patch/msgid/20201204223603.249878-7-lyude@redhat.com
+---
+ .../drm/i915/display/intel_dp_aux_backlight.c | 53 +++++++++++++++++++
+ 1 file changed, 53 insertions(+)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index ec47cd69cd69..2271d75f946a 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -25,6 +25,59 @@
+ #include "intel_display_types.h"
+ #include "intel_dp_aux_backlight.h"
+
++/*
++ * DP AUX registers for Intel's proprietary HDR backlight interface. We define
++ * them here since we'll likely be the only driver to ever use these.
++ */
++#define INTEL_EDP_HDR_TCON_CAP0 0x340
++
++#define INTEL_EDP_HDR_TCON_CAP1 0x341
++# define INTEL_EDP_HDR_TCON_2084_DECODE_CAP BIT(0)
++# define INTEL_EDP_HDR_TCON_2020_GAMUT_CAP BIT(1)
++# define INTEL_EDP_HDR_TCON_TONE_MAPPING_CAP BIT(2)
++# define INTEL_EDP_HDR_TCON_SEGMENTED_BACKLIGHT_CAP BIT(3)
++# define INTEL_EDP_HDR_TCON_BRIGHTNESS_NITS_CAP BIT(4)
++# define INTEL_EDP_HDR_TCON_OPTIMIZATION_CAP BIT(5)
++# define INTEL_EDP_HDR_TCON_SDP_COLORIMETRY_CAP BIT(6)
++# define INTEL_EDP_HDR_TCON_SRGB_TO_PANEL_GAMUT_CONVERSION_CAP BIT(7)
++
++#define INTEL_EDP_HDR_TCON_CAP2 0x342
++# define INTEL_EDP_SDR_TCON_BRIGHTNESS_AUX_CAP BIT(0)
++
++#define INTEL_EDP_HDR_TCON_CAP3 0x343
++
++#define INTEL_EDP_HDR_GETSET_CTRL_PARAMS 0x344
++# define INTEL_EDP_HDR_TCON_2084_DECODE_ENABLE BIT(0)
++# define INTEL_EDP_HDR_TCON_2020_GAMUT_ENABLE BIT(1)
++# define INTEL_EDP_HDR_TCON_TONE_MAPPING_ENABLE BIT(2) /* Pre-TGL+ */
++# define INTEL_EDP_HDR_TCON_SEGMENTED_BACKLIGHT_ENABLE BIT(3)
++# define INTEL_EDP_HDR_TCON_BRIGHTNESS_AUX_ENABLE BIT(4)
++# define INTEL_EDP_HDR_TCON_SRGB_TO_PANEL_GAMUT_ENABLE BIT(5)
++/* Bit 6 is reserved */
++# define INTEL_EDP_HDR_TCON_SDP_COLORIMETRY_ENABLE BIT(7)
++
++#define INTEL_EDP_HDR_CONTENT_LUMINANCE 0x346 /* Pre-TGL+ */
++#define INTEL_EDP_HDR_PANEL_LUMINANCE_OVERRIDE 0x34A
++#define INTEL_EDP_SDR_LUMINANCE_LEVEL 0x352
++#define INTEL_EDP_BRIGHTNESS_NITS_LSB 0x354
++#define INTEL_EDP_BRIGHTNESS_NITS_MSB 0x355
++#define INTEL_EDP_BRIGHTNESS_DELAY_FRAMES 0x356
++#define INTEL_EDP_BRIGHTNESS_PER_FRAME_STEPS 0x357
++
++#define INTEL_EDP_BRIGHTNESS_OPTIMIZATION_0 0x358
++# define INTEL_EDP_TCON_USAGE_MASK GENMASK(0, 3)
++# define INTEL_EDP_TCON_USAGE_UNKNOWN 0x0
++# define INTEL_EDP_TCON_USAGE_DESKTOP 0x1
++# define INTEL_EDP_TCON_USAGE_FULL_SCREEN_MEDIA 0x2
++# define INTEL_EDP_TCON_USAGE_FULL_SCREEN_GAMING 0x3
++# define INTEL_EDP_TCON_POWER_MASK BIT(4)
++# define INTEL_EDP_TCON_POWER_DC (0 << 4)
++# define INTEL_EDP_TCON_POWER_AC (1 << 4)
++# define INTEL_EDP_TCON_OPTIMIZATION_STRENGTH_MASK GENMASK(5, 7)
++
++#define INTEL_EDP_BRIGHTNESS_OPTIMIZATION_1 0x359
++
++/* VESA backlight callbacks */
+ static void set_vesa_backlight_enable(struct intel_dp *intel_dp, bool enable)
+ {
+ struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+--
+2.29.2
+