Re: [PATCH] drm/amd/display: Restore guard against default backlight value < 1 nit
On 2023-12-07 10:03, Alex Deucher wrote: > On Thu, Dec 7, 2023 at 9:47 AM Mario Limonciello > 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 >> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3031 >> Cc: sta...@vger.kernel.org >> Cc: Camille Cho >> Cc: Krunoslav Kovac >> Cc: Hamza Mahfooz >> Fixes: d9e865826c20 ("drm/amd/display: Simplify brightness initialization") >> Signed-off-by: Mario Limonciello > > Acked-by: Alex Deucher Reviewed-by: Harry Wentland 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, _backlight)) >> default_backlight = 15; >> - // if > 5000, it might be wrong readback >> - if (default_backlight > 500) >> + // if < 1 nits or > 5000, it might be wrong readback >> + if (default_backlight < 1000 || default_backlight > 500) >> default_backlight = 15; >> >> return edp_set_backlight_level_nits(link, true, >> -- >> 2.34.1 >>
Re: [PATCH] drm/amd/display: Restore guard against default backlight value < 1 nit
On Thu, Dec 7, 2023 at 9:47 AM Mario Limonciello 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 > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3031 > Cc: sta...@vger.kernel.org > Cc: Camille Cho > Cc: Krunoslav Kovac > Cc: Hamza Mahfooz > Fixes: d9e865826c20 ("drm/amd/display: Simplify brightness initialization") > Signed-off-by: Mario Limonciello Acked-by: Alex Deucher > --- > .../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, _backlight)) > default_backlight = 15; > - // if > 5000, it might be wrong readback > - if (default_backlight > 500) > + // if < 1 nits or > 5000, it might be wrong readback > + if (default_backlight < 1000 || default_backlight > 500) > default_backlight = 15; > > return edp_set_backlight_level_nits(link, true, > -- > 2.34.1 >
[PATCH] drm/amd/display: Restore guard against default backlight value < 1 nit
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 Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3031 Cc: sta...@vger.kernel.org Cc: Camille Cho Cc: Krunoslav Kovac Cc: Hamza Mahfooz Fixes: d9e865826c20 ("drm/amd/display: Simplify brightness initialization") Signed-off-by: Mario Limonciello --- .../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, _backlight)) default_backlight = 15; - // if > 5000, it might be wrong readback - if (default_backlight > 500) + // if < 1 nits or > 5000, it might be wrong readback + if (default_backlight < 1000 || default_backlight > 500) default_backlight = 15; return edp_set_backlight_level_nits(link, true, -- 2.34.1