Re: [PATCH] drm/amd/display: Restore guard against default backlight value < 1 nit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 7, 2023 at 9:47 AM Mario Limonciello
<mario.limonciello@xxxxxxx> wrote:
>
> Mark reports that brightness is not restored after Xorg dpms screen blank.
>
> This behavior was introduced by commit d9e865826c20 ("drm/amd/display:
> Simplify brightness initialization") which dropped the cached backlight
> value in display code, but also removed code for when the default value
> read back was less than 1 nit.
>
> Restore this code so that the backlight brightness is restored to the
> correct default value in this circumstance.
>
> Reported-by: Mark Herbert <mark.herbert42@xxxxxxxxx>
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3031
> Cc: stable@xxxxxxxxxxxxxxx
> Cc: Camille Cho <camille.cho@xxxxxxx>
> Cc: Krunoslav Kovac <krunoslav.kovac@xxxxxxx>
> Cc: Hamza Mahfooz <hamza.mahfooz@xxxxxxx>
> Fixes: d9e865826c20 ("drm/amd/display: Simplify brightness initialization")
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>

Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>

> ---
>  .../amd/display/dc/link/protocols/link_edp_panel_control.c    | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
> index ac0fa88b52a0..bf53a86ea817 100644
> --- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
> +++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_edp_panel_control.c
> @@ -287,8 +287,8 @@ bool set_default_brightness_aux(struct dc_link *link)
>         if (link && link->dpcd_sink_ext_caps.bits.oled == 1) {
>                 if (!read_default_bl_aux(link, &default_backlight))
>                         default_backlight = 150000;
> -               // if > 5000, it might be wrong readback
> -               if (default_backlight > 5000000)
> +               // if < 1 nits or > 5000, it might be wrong readback
> +               if (default_backlight < 1000 || default_backlight > 5000000)
>                         default_backlight = 150000;
>
>                 return edp_set_backlight_level_nits(link, true,
> --
> 2.34.1
>




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux