[7/7] drm/i915/dp: Limit brightness level to vbt min brightness

Sebastian Wick sebastian.wick at redhat.com
Fri Apr 5 17:55:46 UTC 2024


On Fri, Apr 05, 2024 at 02:07:05PM +0530, Suraj Kandpal wrote:
> Limit minimum brightness to vbt min brightness when using aux
> based brightness control to avoid letting the screen
> from going completely blank.
> Sometimes vbt can have some bogus values hence clamping the value
> for sanity in case of corner case.

So, you're completely ignoring the value from the EDID now instead?

> 
> --v2
> -Use something same mechanism to limit minimum brightness
> that PWM method uses [Jani]
> 
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 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 20dd5a6a0f3f..eb2a7225dfaa 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
> @@ -411,6 +411,8 @@ intel_dp_aux_hdr_setup_backlight(struct intel_connector *connector, enum pipe pi
>  	struct intel_panel *panel = &connector->panel;
>  	struct drm_luminance_range_info *luminance_range =
>  		&connector->base.display_info.luminance_range;
> +	u32 min_level = clamp_t(u32,
> +				connector->panel.vbt.backlight.min_brightness, 0, 64);
>  	int ret;
>  
>  	drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s] SDR backlight is controlled through %s\n",
> @@ -427,14 +429,12 @@ intel_dp_aux_hdr_setup_backlight(struct intel_connector *connector, enum pipe pi
>  		}
>  	}
>  
> -	if (luminance_range->max_luminance) {
> +	if (luminance_range->max_luminance)
>  		panel->backlight.max = luminance_range->max_luminance;
> -		panel->backlight.min = luminance_range->min_luminance;
> -	} else {
> +	else
>  		panel->backlight.max = 512;
> -		panel->backlight.min = 0;
> -	}
>  
> +	panel->backlight.min = min_level;
>  	intel_dp_aux_write_panel_luminance_override(connector);
>  
>  	drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s] Using AUX HDR interface for backlight control (range %d..%d)\n",



More information about the Intel-gfx mailing list