Instead of using fixed 0 - 512 range use luminance range calculated
as a part of edid parsing. As a backup fall back to static 0 - 512.

v3: Clean-ups suggested by Jani Nikula
v2: Use values calculated during edid parsing

Cc: Lyude Paul <ly...@redhat.com>
Cc: Mika Kahola <mika.kah...@intel.com>
Cc: Jani Nikula <jani.nik...@intel.com>
Cc: Manasi Navare <manasi.d.nav...@intel.com>
Signed-off-by: Jouni Högander <jouni.hogan...@intel.com>
---
 .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

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 c92d5bb2326a..83af95bce98d 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -278,6 +278,8 @@ intel_dp_aux_hdr_setup_backlight(struct intel_connector 
*connector, enum pipe pi
 {
        struct drm_i915_private *i915 = to_i915(connector->base.dev);
        struct intel_panel *panel = &connector->panel;
+       struct drm_luminance_range_info *luminance_range =
+               &connector->base.display_info.luminance_range;
        int ret;
 
        if (panel->backlight.edp.intel.sdr_uses_aux) {
@@ -293,8 +295,17 @@ intel_dp_aux_hdr_setup_backlight(struct intel_connector 
*connector, enum pipe pi
                }
        }
 
-       panel->backlight.max = 512;
-       panel->backlight.min = 0;
+       if (luminance_range->max_luminance) {
+               panel->backlight.max = luminance_range->max_luminance;
+               panel->backlight.min = luminance_range->min_luminance;
+       } else {
+               panel->backlight.max = 512;
+               panel->backlight.min = 0;
+       }
+
+       drm_dbg_kms(&i915->drm, "Using backlight range %d..%d\n", 
panel->backlight.min,
+                   panel->backlight.max);
+
        panel->backlight.level = intel_dp_aux_hdr_get_backlight(connector, 
pipe);
        panel->backlight.enabled = panel->backlight.level != 0;
 
-- 
2.25.1

Reply via email to