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

Harry Wentland harry.wentland at amd.com
Thu Dec 7 15:29:30 UTC 2023



On 2023-12-07 10:03, Alex Deucher wrote:
> On Thu, Dec 7, 2023 at 9:47 AM Mario Limonciello
> <mario.limonciello at amd.com> 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 at gmail.com>
>> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3031
>> Cc: stable at vger.kernel.org
>> Cc: Camille Cho <camille.cho at amd.com>
>> Cc: Krunoslav Kovac <krunoslav.kovac at amd.com>
>> Cc: Hamza Mahfooz <hamza.mahfooz at amd.com>
>> Fixes: d9e865826c20 ("drm/amd/display: Simplify brightness initialization")
>> Signed-off-by: Mario Limonciello <mario.limonciello at amd.com>
> 
> Acked-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

> 
>> ---
>>  .../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
>>



More information about the amd-gfx mailing list