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

2023-12-07 Thread Harry Wentland



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

2023-12-07 Thread Alex Deucher
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

2023-12-06 Thread Mario Limonciello
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