On Sat, Oct 29, 2022 at 03:48:50PM -0300, antoniospg wrote:
> Test plan:
> 
> * Turn off:
> echo 1 > /sys/class/backlight/nv_backlight/bl_power
> 
> * Turn on:
> echo 0 > /sys/class/backlight/nv_backlight/bl_power
> 
> Signed-off-by: antoniospg <antoniospg...@gmail.com>
> ---
>  drivers/gpu/drm/nouveau/nouveau_backlight.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nouveau_backlight.c 
> b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> index a2141d3d9b1d..855d0ce9f7fa 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_backlight.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_backlight.c
> @@ -263,7 +263,16 @@ nva3_set_intensity(struct backlight_device *bd)
>       u32 div, val;
>  
>       div = nvif_rd32(device, NV50_PDISP_SOR_PWM_DIV(or));
> -     val = (bd->props.brightness * div) / 100;
> +
> +     switch (bd->props.power) {
> +     case FB_BLANK_UNBLANK:
> +             val = (bd->props.brightness * div) / 100;
> +             break;
> +     default:
> +             val = 0;
> +             break;
> +     }
> +

Consider the following change:

        val = backlight_get_brightness(bd);
        if (val)
                val = (val * dev) / 100;

Then you avoid hard coding the use of FB_BLANK_UNBLANK.

        Sam

Reply via email to