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 >