On 13-02-2026 14:46, Suraj Kandpal wrote:
Whenever the minimum brightness is reported as 0 there are chances
we maybe sometimes end up with blank screen.
maybe->may
Please reframe
This confuses the user
into thinking the display is acting weird. This occurs in eDP 1.5 when
we are PANEL_LUMINANCE_OVERRIDE
in PANEL_LUMINANCE_OVERRIDE
mode to mainpulate brightness via luminance
values. Make sure if minimum luminance range is 0 we program
it to 10% of max luminance range.
0 nits for OLED panel is a valid value right?
Instead better to have a default brightness if no brightness is parsed
from the vbt and the default brightness can be max_brightness.
Thanks and Regards,
Arun R Murthy
--------------------
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15671
Signed-off-by: Suraj Kandpal <[email protected]>
---
.../gpu/drm/i915/display/intel_dp_aux_backlight.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 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 eb05ef4bd9f6..f1811beee25f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -456,7 +456,11 @@ static u32 intel_dp_aux_vesa_get_backlight(struct
intel_connector *connector, en
}
val |= buf[0] | buf[1] << 8 | buf[2] << 16;
- return val / 1000;
+ val = val / 1000;
+ if (!val)
+ return panel->backlight.min;
+
+ return val;
}
return connector->panel.backlight.level;
@@ -557,10 +561,14 @@ static int intel_dp_aux_vesa_setup_backlight(struct
intel_connector *connector,
if (panel->backlight.edp.vesa.info.luminance_set) {
if (luminance_range->max_luminance) {
panel->backlight.max =
panel->backlight.edp.vesa.info.max;
- panel->backlight.min = luminance_range->min_luminance;
+ if (luminance_range->min_luminance)
+ panel->backlight.min =
luminance_range->min_luminance;
+ else
+ panel->backlight.min =
(luminance_range->max_luminance * 10) / 100;
+
} else {
panel->backlight.max = 512;
- panel->backlight.min = 0;
+ panel->backlight.min = 51;
}
panel->backlight.level =
intel_dp_aux_vesa_get_backlight(connector, 0);
panel->backlight.enabled = panel->backlight.level != 0;