On 20-02-2026 10:32, Suraj Kandpal wrote:
Whenever the minimum brightness is reported as 0 there are chances
we maybe sometimes end up with blank screen. This confuses the user
into thinking the display is acting weird. This occurs in eDP 1.5 when
we are using PANEL_LUMINANCE_OVERRIDE mode to mainpulate brightness
via luminance values. Make sure if minimum luminance range is 0 we
program default value to max in case 0 is returned from luminance
registers.
Changes looks good!
Can this header and the patch comment be changed?
drm/i915/backlight: use default/max brightness on backlight init
If the brightness fetched from VBT/previous state is 0 on backlight
initialization,
then set the brightness to a default/max value.
With the above change
Reviewed-by: Arun R Murthy <[email protected]>
Thanks and Regards,
Arun R Murthy
-------------------
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15671
Signed-off-by: Suraj Kandpal <[email protected]>
---
v1 -> v2:
- Let users set brightness to 0, make it so that it's just not
done by default (Arun)
drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 4 ++++
1 file changed, 4 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 eb05ef4bd9f6..c40ce310ad97 100644
--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
@@ -564,6 +564,8 @@ static int intel_dp_aux_vesa_setup_backlight(struct
intel_connector *connector,
}
panel->backlight.level =
intel_dp_aux_vesa_get_backlight(connector, 0);
panel->backlight.enabled = panel->backlight.level != 0;
+ if (!panel->backlight.level)
+ panel->backlight.level = panel->backlight.max;
drm_dbg_kms(display->drm,
"[CONNECTOR:%d:%s] AUX VESA Nits backlight level is
controlled through DPCD\n",
connector->base.base.id, connector->base.name);
@@ -573,6 +575,8 @@ static int intel_dp_aux_vesa_setup_backlight(struct
intel_connector *connector,
if (current_mode == DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD) {
panel->backlight.level = current_level;
panel->backlight.enabled = panel->backlight.level != 0;
+ if (!panel->backlight.level)
+ panel->backlight.level = panel->backlight.max;
} else {
panel->backlight.level = panel->backlight.max;
panel->backlight.enabled = false;