[PATCH] drm/nouveau: Adding support to control backlight using bl_power for nva3.

Sam Ravnborg sam at ravnborg.org
Sun Oct 30 20:48:53 UTC 2022


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 <antoniospg100 at 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


More information about the dri-devel mailing list